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 am starting to get a small (just me at the moment) web design company off the ground and there is one thing that is a bit fuzzy to me - whether I can legally use open source apps in sites that I built without paying.
Say, for example, that I want to incorporate CKEditor into a custom built CMS on site that I produce. Should I be paying a commercial license to do so?
I am a small startup at the moment and really do not have big bucks to go out buying OEM or commercial licenses. Where is the line between "personal" and commercial when it comes to design?
CKEditor can be used without paying a commercial license. The commercial license is available if GPL, LGPL, or MPL are not satisfactory. The text below is stating that, for companies that cannot use software under an Open Source license for whatever reason, they can still purchase a commercial license.
For many companies and products, Open Source licenses are not an option.
This is why the CKSource Closed Distribution License (CDL) has been introduced.
For your use, I would recommend either LGPL or MPL to be safe. The GPL requires all software linked to the GPL code to also be GPL (or a compatible license). This is why it is considered a "viral license" by many companies. The other licenses do not carry this requirement. The LGPL specifically removes it; that is why it is known as the "Library" or "Lesser" GPL.
As far as the line between commercial and non-commercial use, that depends on the software that you are integrating with. It is perfectly fine for someone to pay you to create a site - it does not mean that the resulting work itself is commercial. You are not integrating the editor in your web design services site, so that shouldn't be the criteria you use to decide. You would be integrating it in the site you have been hired to create. If this site itself provides or is a front for commercial products or services, then it's commercial. But again, you do not need to purchase the commercial license if your client is OK with the terms of LGPL or MPL (I don't see why they wouldn't).
CKEditor (previously FCKEditor) can be licensed under GPL, LGPL, MPL, and even a CKSource Closed Distribution License (CDL). GPL and LGPL (probably MPL as well) are distribution-based licenses. That is, they only apply when you're re-distributing the software. Although it's not clear from your question, my guess is you just want to 'use' CKEditor in a website design as opposed to incorporating it into website software that you're going to distribute and/or sell. In the use-in-website case, the ASP loophole probably applies to your scenario regardless of personal or commercial use and there's no need to pay for anything or apply any licenses on your website work.
If, however, you turn around and decide you want to try an distribute and/or sell your custom CMS that incorporates the CKEditor (for example, sell it to other website designers that need a CMS), then you must abide by the rules of whichever license you select and pay accordingly if you decide the CDL license is most appropriate for your needs. The CKEditor website has good examples of reasons why you would choose the CDL option.
Have you seen the http://ckeditor.com/license page ? It seems pretty clear it's free for non-commercial use, but you need a license for commercial use.
More generally, it depends on the license of the app in question. Open-source apps are typically free to use, but may place restrictions on redistribution. IF the license is MIT, BSD or Apache you can essentially do what you want providing you keep their copyright notice there. If the license is GPL, the requirement to redistribute your code under a copyleft license too is typically incompatible with commercial use.
You'll have to check the license of whatever you're using, but in general you can use open source stuff for anything as long as you don't claim it as your own.
Unfortunately it's not as simple as just the two licensing models, since open source licenses fall under several other categories. In some cases, you cannot release your code under a different license with an open source library linked to it (like the GPL). In other cases, you can make changes to the open source code and re-release it as closed source (like the Apache License). See this reference for free software licenses and which are okay to link or release with different licenses.
Related
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
Since last August 2009, I have been working on project but then decided to release it as an open source project. The purpose of this project is to provide an alternative to existing commercial & expensive solution.
So my question is, how can I get started ? The prototype has been ready since May and now being rewritten in Java. Which license type do I need to pursue ? LGPL? MIT?
Thank you,
John.
Figure out what you want people to be able to do with it.
Do you want people to be able to use it for anything, including commercial stuff, or do you want it to be locked down as open source crazy GNU stuff?
This list should be a good start.
http://www.opensource.org/licenses/category
Next, pick a place to host the project. Google Code is a great one and I believe they require your project is a certain license. So that makes your decision for you.
Another thing you might want to consider is source control. If you like SVN, Git, or something else that can matter. GitHub is a good place for git projects and almost all of your hosts will have svn support.
There are numerous Open Source licenses, but the ones I'd recommend are either BSD-style or the GPL. You'll have to decide which you like. Should people be able to take what you've done and wrap them into proprietary software and sell it, without necessarily giving back their changes? Up to you. A BSD-type license might get you more users, and a GPL-type license might get you more development help.
If you're thinking of dual-licensing, with an open source and a commercial license, you almost certainly want to go GPL for the open source license, since BSD-style doesn't leave you with enough extra rights to sell.
You keep the copyright on everything you do that's not for hire, unless you explicitly give it away. If you start getting help from other people, you need to decide what to do. You can ask for the copyright to be transferred to you, which will keep your complete copyright control at the expense of discouraging outside developers. You can trademark your software, to keep the branding, and this is independent of who owns what copyright. I'd advise talking to a lawyer about that, as trademark law isn't as clean as copyright law, and can vary from state to state. If you live in the US, you can probably get a lawyer referral from your local bar association, and it shouldn't cost much for an initial consultation.
As Jonathan said, check the OSI for information on possible licenses. Pick one from there. They'll all work, more or less, unlike a license you might write up (unless you know what you're doing). Some sites, like Sourceforge, don't allow projects that are not under an OSI-approved license, so you'll get more options with an OSI license. Moreover, lots of people are already familiar with the standard licenses, and you won't have to explain your license to them.
You could use any of the main Open Source licences - it is going to depend on what you want from the project.
GPL
Berkeley (minus advertizing clause)
MIT
Apache
You probably wouldn't use the LGPL unless what you're writing is a library.
So the Open Source Initiative for information abuot possible open source licences. Do not try to invent your own.
If you want be protective about the software you could for example one of
GPL
LGPL
But in many cases a more permissive license attracts more users.
MIT
Apache
are quite permissive.
If you want to do dual licensing then consider using GPL and a commercial license.
Before you pick a license and you have to answer yourself :
Do I want forks?
Do I want commercial usage of my software?
Do I want that my software is included in commercial software?
Do I want to enforce any license on forks?
Pick an already established license from here : http://www.opensource.org/licenses/category
If you want to setup your project then just have a look at GNU Hello, which I think is a good template to start setting up an open source project and regrading license it depends what you want from projects as explained by others already.
TL;DR Legal allows you to look up open source software licenses and get a summary, in plain English, of what you Can, Can't and Must do with the software. It also allows you to see the affects of combining two licenses, although that option is misleadingly called "Compare Licenses."
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 10 years ago.
Improve this question
I have a software which wrote and includes within several components each of which comes with its own license.
In sum, all 24 components in use are sharing the following licenses:
Public Domain
GPL
LGPL
BSD
MPL
Questions I ask are:
Am I allowed to sell a compiled version of this software which links to all these components?
What is this is installed on a server (being a service) does this make any difference?
What if I modify the code, must I tell the world what did I do?
Public Domain
GPL
LGPL
BSD
MPL
Be careful with these licenses here. In particular, the MPL is not compatible with the GPL. Now, many (probably most) pieces of MPL licensed software are distributed under a dual license, in which you may choose to use and distribute the software under the terms of the MPL or under the terms of the GPL (or sometimes LGPL). But in that case, you shouldn't list the MPL in the list of licenses you are distributing software under, because in order to link to software released under the GPL, you must be using the GPL (or LGPL) option of the dual-license.
Am I allowed to sell a compiled version of this software which links to all these components?
Yes (and the other licenses don't affect this, either).
What is this is installed on a server (being a service) does this make any difference?
If you are selling a service, in which you only run the software on your own computers and don't distribute the software to anyone outside of your company or organization, then none of these licenses impose any significant restrictions on what you may do. In particular, the GPL and LGPL do not require you to provide source code to anyone else in these cases.
If you are using a lot of third party software, it's still generally a good idea to contribute your patches back to the upstream project. Diverging from the upstream can cause a lot of problems in the future when you try to upgrade, and contributing code upstream will mean you get more people who are familiar with the projects you are modifying to review your code, which can help improve its quality.
What if I modify the code, must I tell the world what did I do?
If you distribute the software to anyone outside of your company or organization, then you must provide them with the source code, or provide them with a written offer to provide the source code at a later date, for no more than the cost of physically transferring the data to them.
If you do not distribute the software, then none of the licenses above impose any significant restrictions on you. The GNU Affero GPL, or AGPL, is the only license I know of that imposes significant restrictions on people who run software as a network service, and as you did not list that license in your question, I don't think it's something you need to be concerned about.
Note that I am answering these questions from the point of view of the GPL, which is the most restrictive license that you list. Effectively, when you link several pieces of software with these licenses together, you can consider the whole to be licensed under the terms of the GPL (except for the MPL, which as I've mentioned, is incompatible). See the following slide for a visual depiction of compatibility between common licenses:
(source: dwheeler.com)
Yes, but see (3).
Yes, depending on your reading of the GPL. If it is your own server, you are argualbly OK.
If you distribute (i.e. sell) the executable, the fact that one of the components is GPL'd means you must also distribute your code.
Yes, but you must have a notice somewhere saying that some of the code(ie, everything but public domain) was under so-and-so license and it's source is available here.
No, shouldn't matter
Only for the GPL and LGPL code
AFAIK, you can't link to GPL code unless you use GPL on your software too (see http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem ). If you're linking some other software together with GPL code, it must have a "compatible license" (see http://en.wikipedia.org/wiki/License_compatibility ). This matched, you can sell your software for any price you want, assuming you deliver the source code or offers this delivery for no charge.
You can put GPL software on a server, with changes made on your own, without delivering the source code, as long as you don't give the binary to anyone. Google explore this possibility a lot, using GPL code to deliver proprietary services over the web. However, this behaviour is not possible with GPLv3 if it uses the "Affero clause" (aka AGPL)
If you distribute your changes as a binary, yes, you must. Otherwise, check (2).
1 : yes, cf earlz or Neil Butterworth answers.
2 : ??
3 : if you modify the GPL/LGPL libraries and you provide (give/sell) your product, you must distribute the code (more precisely, the modifications you did to the library).
My opinion : have these libraries in separate projects from yours, so there is a clear separation and you can easily provide a patch if asked.
DISCLAMER : I am not a lawyer, consult a lawyer if in doubt
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
I am considering starting an OSS project and would like some advice.
I would like to use a licence that allows free use of the project for personal and non-profit use but would allow me to charge for a commercial licence (like or similar to http://www.extjs.com/company/dual.php).
Could someone please advise or link to some articles on how to approach this? Thanks in advance.
As the Open-Source-definition describes, you cannot limit the usage of your project, if you want to stay open-source. In other words: you cannot forbid a commercial use for an open-source-app. So you can choose another (non-open-source) license, that fulfills your demands, or you choose another way.
One possibility is to release only the source under open-source-license and have another license for binary distributions. As far as I know thats true for Java. That works good, if the build of your app is somewhat complicated.
You can release your app under the GPL-license. That does not forbid commercial use. But if some derivate work is created, it has to be GPL-licensed too. That works well for libraries or similar stuff that isn't used alone, but in a merged product. EDIT: As DrJokepu mentions, using a GPL-framework in a webserver-stack would help to avoid to release your own sources. That's why one extension to the GPL is the Affero GPL, that need you to release your work under the same license (AGPL) even if you don't release it, but only use it to build a public webpage. So for webservices you need the AGPL to achieve the same result.
You can't us an OSI-certified Open Source license and ban commercial use.
If what you want to do is stop somebody from taking your software and selling their version as some sort of shrink-wrapped software, you can use a GPL-style license. For maximum compatibility, I'd recommend GPLv2+ (Gnu General Public License, version 2, or any later version at your discretion). With that license, somebody can sell your software, but they have to make it clear that anybody can get the source, and that it can be freely redistributed. That would, I think, cover most of what people want to ban as commercial use.
The producing open-source software book has a great section on dual licensing. It outlines the approach where a single entity, such as a foundation "owns" the copyright to a projects source.
The foundation chooses to make the source available under two different licensing schemes, one closed and another that is open-source. For your particular case you will want to ensure that you stick with a strong copyleft license (i.e. such as GPL) to prevent commercial derivative works of the freely available source code.
However, as others have noted, this does not prevent commercial entities from using your software, just from taking your work and selling it to others. In some cases this works out, as strangely enough, many organisations would rather purchase something than download and use something for free. These are the same sorts of organisations that need legally binding contracts with vendors and some form of support. I.e. When you sell software you are actually selling a whole bunch of other services at the same time as a "shrink wrapped" product.
Now, how can code be kept closed and sold, as well as released under the GPL license? The mind bending legal part of the whole arrangement, is that contributions of IP to the foundation are not made under the GPL license. Rather, developers give their IP to the foundation under "contributor agreements" which pass on copyright of their changes to the foundation and permit the foundation to release the code under two different licenses. This last little caveat is the big downside to dual licensing, sometimes developers are not interested in contributor agreements, they want there changes only available under the open-source license and nothing else. Quite a few contributor agreements that kick around the place, but here is the one that sun uses for MySQL.
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'd like to use gSOAP in a product which will be distributed commercially. The use I have in mind is what I suspect is a pretty typical workflow—generating a header using wsdl2h, consuming the header with soapcpp2, and then calling the functions generated in the stub in my code.
I'm not 100 percent sure which license(s) I need to use to be able to do this. Has anybody here already gone through this and figured out the solution?
I hope the following clarification helps. Please contact us at contact#genivia.com for questions.
The gSOAP software requires a commercial license for commercial product development if any one of the following conditions hold:
If you use wsdl2h to generate code. Because the generated code is GPL by default, you should obtain a commercial license from Genivia (www.genivia.com/Products/gsoap/contract.html). The wsdl2h tool itself is GPL, and we hold the copyright rights to it.
Or you use the web server code in gsoap/samples/webserver. This component is GPL by default.
Or you use the UDDI components in gsoap/uddi2, which are also GPL by default.
The commercial license is a development site license. There is a one-time fee for perpetual use of gSOAP to develop a product (a "target application"). No royalties.
The other good news is that all other parts of the software are released under the gSOAP public license, which allows commercial use without fees.
So the answer is that as long as you do NOT use wsdl2h, do NOT use the web server code, and do NOT use the UDDI code then you can use the gSOAP public license for free (which is based on the MPL1.1 open source license and a copy of the gSOAP public license is included in the package).
Hope this clarifies our licensing model.
Robert van Engelen, Genivia Inc.
From the site:
Important note: the wsdl2h WSDL
parser, UDDI code, and sample
applications such as the stand-alone
web server are distributed ONLY under
the GPL or the proprietary license.
This means either your product will have to be entirely licensed under GPL (hence you would need to opensource your app if not so already), or you have to purchase a commercial license.
You have to purchase a commercial license -- one per project in which gSOAP is to be used. We've been using it very successfully in a few of our projects here.
The gSoap licence is quite unclear, and I think part of it is even wrong. For example, GPL use and commercial use are opposed in the licencing, which is plain wrong.
Moreover, a code generator which is GPL doesn't necessarily produce GPL code:
http://www.gnu.org/licenses/gpl-faq.html#WhatCaseIsOutputGPL
As I understand the GPL, as long as you release all derived products under the GPL, the code is free for even commercial use. Of course most companies don't want to release their source code for anyone to copy freely, hence the commercial license. I think Genivia's summary is not as clear as it could be on this one point.
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 10 years ago.
Improve this question
What open source licenses are more corporate-friendly, i.e., they can be used in commercial products without the need to open source the commercial product?
I recommend the Apache License (specifically, version 2). It is not a “copy left” license and it addresses several matters that are important to established companies and their lawyers.
“Copy left” is the philosophy of the free software foundation requiring anything incorporating the licensed opens source code to also be licensed as open source. That philosophy is regarded as poison by established companies that want to keep their products proprietary.
Aside from not having “copy left” provisions, the Apache license specifically addresses the grant of rights from project contributors and it expressly addresses the fact that modern companies are typically made up for more than one legal entity (for example, a parent company and its subsidiaries). Most open source licenses don’t address these points.
Whatever license you choose, if you want your code to be “corporate friendly,” in the sense that you want it to be incorporated into commercial, non-open source products, it is essential that you avoid GPL and other “copy left” type licenses. While it would be best to consult with your own lawyer before investing time or money in a project for which this is an important factor, a quick shorthand for licenses that are and are not “copy left” can be found on the Free Software Foundation’s website. They identify which licenses they don’t find meet their standards as “copy left.” The ones FSF rejects are most likely the ones that will be corporate friendly in this sense.
(Although the question didn’t ask this, it is worth mentioning that, with very few exceptions, even GPL and other “copy left” type licenses are perfectly corporate friendly if they are only used internally by the commercial entities and not incorporated into their products.)
Basically, only the GPL requires that the whole product is GPL, and LGPL implies that the parts specific to that library be open sourced. But, for both, the problem arises only when you distribute the application.
For all the other open source licenses, the only common requirement is the publicity (ie. show at some point to the user what open source component / library is used).
After that you have the "no competing commercial product" licenses...
All in all, the most acknowledged business friendly license are IMHO the Apache License, the Artistic License and the Mozilla Public license.
Furthermore, even if Creative Commons is not widely used for software development, some options are business friendly.
Edit: forgot BSD (which is more a license-template than a license) and MIT mentionned by Daniel. It seems to me that their usages are fading away, but there is some license tropism to take in account according to the development language / open source sub-community.
The two most commonly used licenses that allow what you want are the BSD License and
MIT License. (see also the full list of licenses considered Open Source by the OSI).
As a possible alternative to the BSD license you can also use the Ms-PL license (Microsoft public license). Pretty much the same but (arguably) better worded. Additionally, It's got “Microsoft” in its name, which screams “corprate-friendly” like nothing else does. ;-)
I believe that 6 of the 9 licenses on the OSI's list of "Licenses that are popular and widely used or with strong communities" meet your criterion: Apache, BSD, MIT, Mozilla, CPL, and Eclipse. The Mozilla license and CPL (the Common Public License) have language concerning patents that might make them more attractive to corporations.
See here for more information.
The GNU Lesser General Public Licence is also corporate-friendly and quite often used in libraries. It allows for usage of a certain library but modifications to it should be made public.
By "corporate" I tend to think of internal development, programs distributed only to people that are employed by the same company. In that sense, pretty much all free software licences are "corporate-friendly."
However, in terms of distributing closed-source software that contains free software the only big one (off the top of my head) that is excluded is the GPL. You could embed LGPL, BSD, MIT, Artistic licenced code. The "price" might be having to give credit, but that would be way cheaper than actually writing and debugging the software.
Things can get hazy when you consider licences that try to protect trademarks (Mozilla) or the compatibility of a broader range of software (Sun). Your constraints are not always only related to the distribution of the code.
In summary, if you're unsure you should consult a lawyer.
Ideally I looked for components licensed under the Apache Software License. After that LGPL, BSD and Artistic License are my next preferences.
MIT, Apache and BSD tend to be the most corporate friendly. The least corporate friendly that I have ran across are usually Q Public, GPL and Mozilla...
Wikipedia also has a very useful list that compares all the free software licenses. If you have a green box on the right ("Release changes under a different license"), I think that's all you need.