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

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.

Related

Open source - How to make sure user has bought a license/avoid pirate-versions? [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
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.

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..

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.

What licenses are the best for open sourcing web applications? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
What licenses are the best for open sourcing web applications?
It depends on your licensing goals.
If you just want the code to be widely usable, MIT or 3-clause BSD work fine.
If you want to require redistributions of your code to be under the same license, GPL works.
If you want to require deployments of your web application to distribute its source code, with any modifications, then you'll need the AGPL.
If you are fine with your application being used as the basis for a proprietary web service, then just pick a standard license (BSD, GPL, MPL, whatever) using the same criteria as for other projects. If you want to prevent that, however, the only option I know of is AGPL, which requires that installations provide source to their users. Then BigBucksServiceVendor can set up an installation, tweak it, and charge users to use it, but they must provide their source code so that someone else can do the same as well.
The AGPL also, though, is not near as widely used as many of the other licenses. That may impact your decision.
The answer for the "best" depends too much what you hope to accomplish, so a concrete answer is impossible.
If you would like to know more about the types of open sources licenses and what they offer, Wikipedia is a great place to start.
http://en.wikipedia.org/wiki/Open_source_license
Despite the multitude of open-source licenses, there are probably only a few you can realistically choose from when it all boils down. As Mike was saying, it all really depends on what you're looking for.
Realize that open-sourcing is just another form of license protection, so deciding for yourself the terms under which you want it to be released will greatly affect which license you choose. Do you want to allow commercial endeavors to profit from your work? What if someone were to modify your code significantly into their own derivative product... can they distribute it (for free or not) without also distributing the original or at least linking back to you? Do you care if anyone gives you credit at all for your work? These are just a few questions that should probably be answered before you head too far down this road.
I'd recommend taking a look at a few wiki pages -- specifically, investigate the difference between permissive and non-permissive licenses, as these are the two major types of open-source license. When you get around to figuring out what exactly you want to protect and how you'd like to protect it, that's when I think the right decision will become clearer for you.
Pick a License, Any License
There are a variety of options depending on what you're looking for. There is a very good article on Wikipedia describing many of the licenses and what it means to use a specific license.

Addressing concerns over using open-source libraries in closed-source projects [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 7 years ago.
Improve this question
Background: There are a couple of concerns that are not core business for us. They are essential to our core business, but we have no business writing on our own, in terms of manpower, time, and expertise. I am familiar and very comfortable with some open-source implementations, using closed-source-friendly licenses, that could fill these gaps. Closed-source alternatives I either could not find, or were crap.
I put together an informal proposal to show my boss, including the original licenses for each project for legal review. Being a business owner that knows little about the world of open-source, he was initially hesitant when he realized some of these libraries were. I tried to educate him to the best of my abilities (I'm no open-source warrior myself), but he did bring up some valid questions that, in some cases, I don't feel I answered as well as I could have.
Concerns (worded from my boss's prospective)
How do we know and ensure there is no malicious code in an open-source project? Read and understand every line? At that point we could have just written it ourselves!
Who do we blame when things go wrong? With support licenses and a responsible party, we can get things fixed. And if they fail to come through, well... you know.
How do we establish or measure that an approach or implementation in an open-source project is sound, efficient, or good quality?
What sort of liability do we open ourselves up to, in terms of licensing [granted, this is more a question for lawyers and an issue of RFTL].
Question: How have or would you have addressed these concerns?
How do we know and ensure there is no malicious code in an open-source project? Read and understand every line? At that point we could have just written it ourselves!
Same problem with closed source. Actually worse with closed source. With open source at least you CAN review it yourself, or you can take someone else's word for it. With closed source, taking someone's word for it is your only option.
Who do we blame when things go wrong? With support licenses and a responsible party, we can get things fixed. And if they fail to come through, well... you know.
Probably the biggest issue. This depends on which particular solutions you're using. Some things are backed by a reputable vendor (e.g. Red Hat) whereas others have virtually no support. But that "you know" is critical here: ultimately there is no way to guarantee that someone will fix bugs that you encounter when you are using closed source. At least with open source you can hire a 3rd party consultant to do the job, for the right price, because you have the source.
How do we establish or measure that an approach or implementation in an open-source project is sound, efficient, or good quality?
The same way you would with any other code? I don't have any better answers for this one.
What sort of liability do we open ourselves up to, in terms of licensing [granted, this is more a question for lawyers and an issue of RFTL].
Yep, have a lawyer advise you on this. Every tech business should employ a lawyer anyway. The answer will depend on the specific licenses you're dealing with and what exactly you plan to do with the software you develop.