Open source - How to make sure user has bought a license/avoid pirate-versions? [closed] - open-source

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
This is not something I want to do myself, but it's a question/problem I can't get out of my head.
If you distribute open source-program/classes/libraries, how can you make sure the user has purchased a license? Would it not be very easy for programmers to just remove the license-part of the product and distribute it or use a pirate-version?
Take Invision Power Board for instance. It is written in PHP (i.e completely open and editable) and you have to buy a license to be able to use it. How can they make this limit? Do they authenticate the forum towards their servers? If they do, would it not be easy to simply remove this function?
Another example that I have even more problem understanding is HighCharts, a JS library to draw graphs. They offer a free version with their name on each graph. If you purchase the product, the label is gone. How do they do this?
I know this question is a bit wide and open, but I am just asking for a way to prevent people from simply editing out the license/blockade? What is the essence in this?

There are no license purchases for true "open source" libraries or programs, because the essence of open source is that the code is free and you can build/deploy it yourself at will.
What you're talking about is commercial software that might use a codebase that is easily visible/editable. It's not marketed as "open source," but the source code is easily accessible and potentially easily modified.
There are various mechanisms for obfuscating or hiding the content of the code that some products would choose to use, which make modifying the code more difficult. For example, there are various ways of pre-compiling PHP code rather than distributing the raw files (see this question for examples).
However, the biggest thing that you lose out on with most software of this sort is support. If you're a serious user of a complex piece of software, especially a business user, you would typically want to know that you have a commercial support plan in place for any critical software. The kind of user that would crack/pirate such software (that is, individuals or small companies) aren't likely to be as significant to the vendor.
On the internet there's a further obvious avenue: if a significant public site were using Invision Power Board, they would soon notice and could demand suitable license (or take legal action).
Ultimately, this kind of abuse is very difficult to prevent if someone is determined enough: you are very much at the whim of your users.

Related

is this temporary login method terrible? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I was just thinking of possible ways to go about temporary login systems. I was thinking having a bunch of your standard images with a jumbled up word and users type in the word. I would have a MySQL table where all the photos have a unique id, link and answer-key. that way the webpage just has to choose a random number the GET photo where id = random number. then compare what the user types in to the answer key of the photo.
I'm not currently trying to create this system, it seems very simple and I was just trying to think if it is a secure system that would work.
so my question really is, would there security risks with this, is it robust enough to keep out bots, would my site be destroyed 10 seconds after implementing it.
What you're describing sounds exactly like a CAPTCHA system. These are used widely to prevent bots from issuing automated requests against an interface. The problem is that it's hard to make images that a bot can't just interpret anyway.
Outsmarted: Captcha security not much of a gotcha is an article about some Stanford researchers who developed an image-recognition tool (which is not publicly available) to test captcha implementations:
Decaptcha was able to decode 66 percent of the Captchas used by Visa's Authorize.net payment site, 70 percent of Blizzard Entertainment's Captchas -- the company's games include World of Warcraft and Diablo -- and 25 percent of Wikipedia's. About one-fifth of Digg.com's Captchas and almost that many of CNN.com's were decodable.
The researchers recommended Google's reCAPTCHA as a much more effective system. You can add a reCAPTCHA widget to your own website. This would be safer and easier than trying to develop your own and find it to be too weak.
Short answer: No, it's not secure. If someone really wants to hack your system he can build his own database of image-word.
The key is to invest in security less than it will cost you if your system will be compromise, so I won't invest in a security system too much (it sounds like you don't really have a sensitive information to hide).
BUT, you have an easy & free solution. You can use reCaptcha, not only it's much more secured, you'll help digitize some useful information.

What and when do I have to disclose, if I use open source software for a totally different use? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
If I make a (web-based if it matters) game and have the inventory portion of it from an open source inventory program, what do I disclose?
I would say part X came from open source, or I just "hacked" then inventory system and put my game as a front end.
I just don't know where I put that on my website, or do I wait until someone asks? Does this mean my part of the software is also open source? What am I supposed to do?
I'm not sure how to ask it. I want to do the right thing and all.
It depends on the license that the open source inventory program is under. Have you looked into that yet?
This is a good place to start for comparisons:
http://en.wikipedia.org/wiki/Comparison_of_free_software_licenses
You have not asked much specific with your question. The general answer is: It depends.
On what does it depend you might then ask yourself. It depends on the usage terms of the software you make use of.
You only have shared so far that the software is "open source". That term does not say much. It could mean you refer to an OSI certified Opensourcetm license, however, you wrote "open source" which might be a different term. Probably you have picked something from github (compare: Can I use the code in a Github project which does not have a license specified?) ?
So unless you do not share which kind of license that is you talk about not much could be said:
If it is a permissive Free Software license, your code can normally stay under it's own license.
If it is a copyleft Free Software license, your code normally is being licensed under the same license.
If it is a compromise license, it depends on the type of work and way of interaction / derivation / usage / packaging.
In any case it always depends on
the concrete licenses for all works in question.
the concrete type of work and way of combining it with your work.
if you plan to go conform with the licensing or you want to exploit it.
You have not specified much of both, so no better suggestion can be given. Also take note that IANAL and this is only some personal opinion of a layman.
And do not wait until someone does something. You should be the active party to find out. That works best by contacting the original author of that component, tell her what you want to do with it and keep the written allowance you get from her with your records. Especially as you are unsure. And the original author has enough power to allow you things even apart from the public visible license btw..

Should I use opensource software in my commerical app? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
This is a point that has always confused me about open source software. Normally, I write everything from scratch. What I'm trying to find out is what licenses allows me to do this?
Stay away from the GPL (LGPL is okay) and you won't have any problems. If you want to include GPLed packages in your application, things get tricky. BSD and MIT style licenses will get you the fewest obligations. In general, find the software package you want to use and read the license. They're usually pretty straightforward about what is and is not acceptable to do.
Why would you want to do more work? Of course you should. All you have to do is redistribute the OS technology source with your app (I am not a lawyer, but thats how I understand it).
The assumes
1) You are talking about an established open source solution, like hibernate, that you can reasonably assume works well.
2) The product you are developing is not using the open source technology as the 'secret sauce' that is going to make you money. Else you might have to open source that special part of your app.
If the software actually fits what you're trying to do, then yes it does cut down on development time. If the software mostly fits what you're trying to do you may end up spending more time trying to work with it rather than solving the problem it's meant to solve.
I am not a lawyer, so be sure to run a license past legal council if in doubt
As far as licensing goes, there are a number of licenses that allow you to incorporate the software into your commercial application. Most of the time as long as the license isn't a Copyleft type license (i.e. GPL) you can distribute the software as is. If you have to make changes that get distributed with your application, some licenses will requires the source also be distributed with it and an indication of what's different from the core project.

Picking an appropriate license [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
I'm working on a web based ladder system for a game. It is very game specific and I want to make the project open source so the community can give back, contribute and make the experience better for everyone. However at the same time I don't want people to re-use the code/implement the code on separate sites because the purpose of the website/project is to unify the community under one roof. So my question is: what is the best license to use to make that possible?
... I don't want people to re-use the code/implement the code on separate sites ...
This really misses the point of Free Software, or as the FSF puts it, it's open source but not really Free Software. Despite my tone, I'm not here to lecture you, I'm simply pointing out that people are not likely to help if the project has this kind of restriction.
However, if you change that to:
... I don't want people to re-use the code/implement the code on separate sites without contributing any modifications they make back to the project ...
Then the GNU Affero General Public License might be appropriate; it prevents people from modifying your website unless they publish their changes under the same license.
If you still insist on your original restriction, then no open source license will help you, since most of them are about being Free Software, not just open source. You're going to have to write your own license, or modify an existing one.

Releasing company's code on free software licence [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
My company (EU-based) is considering to release some parts of our code
under a free software license. We are going to ask lawyers, but firstly
I'd like to ask what problems should we expect when doing that? We are
planning to use LGPL license, mostly because we want to be able to reuse
other people's code in our (closed) software later too.
Edit: We own all the code we want to be released (everything was written
by a single developer, and he actually proposed to opensource the code).
Also we don't care about reusing
this code by our competitors; this piece of code is more or less orthogonal
to what we do for living. We do expect that this code will be improved by others (or at
least spot any bugs), but it is actually good enough for us already.
Thanks for opinions.
Possible problems:
You do not own the rights on all of your own code (e.g. some portion was made by a freelancer but the rights were never properly transfered)
You expect something to happen with your code (e.g. other people to improve it) but it never happens
Your code becomes used in a competing product and you cannot prevent that
You want to withdraw the freedom and find out you can't
If your company wants to keep some control of what is the official code, I suggest you the Artistic License 2.0, instead of LGPL.
I would recommended releasing under LGPL or BSD style license, which does not contain any responsibilities from your side.
Regarding the use of code by other people, again, use only BDS licensed code and you are all set.
If you use the LGPL, contributions from other people can still be done under the GPL, which would prevent you from reusing their code in close-source software. You'll have to watch out for that. Also, even if their contribution is LGPLed, you only have the freedom to not open the source if that code is used in an external DLL or the like.
This is a very rough description, and the implications of that are quite hard to grasp (I don't fully either) and also depend on what kind of software you're developing, so you definitively have to consult a lawyer.
You might also want to look at what Qt does.