ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I am currently thinking about open-sourcing a small program I have written but I am undecided on which license to use. I found this Wikipedia page and the opensource.org website on the subject but I do not have the time to check all those licenses (I am also not a lawyer so it would not even be fun if I had the time). If you have published an open-source project then I would like to know which license you used. I would also appreciate if you could briefly explain the motivation for your choice.
PS:
Not sure if this is a factor in the decision but here is some context:
The program is nothing spectacular or ground-breaking. It is just a small tool written in C. It caters to my personal preferences with Shell script creation/maintenance which I initially did not intend to publish. It was just a project which I did mainly for fun.
I've written only a couple of small programs for public use (and the public ain't using them as far as I know!) but I automatically used GPL. I've read it and I like it, so why would I want to use anything else?
The only other free licenses that I know anything about are LGPL and Mozilla. I can see the logic of LGPL for libraries but not for programs. As for Mozilla, I can see why they want to protect their trademarks. Browsers and mail programs are like your lungs and your digestive system: the first port of call for incoming infections. So if you modify their code to make it less secure, of course they don't want their name on that. I don't think that's unreasonable for that kind of program but I don't like it as a general idea.
I would use BSD because it's more free (freer?) than GPL.
But because it's so free, anyone is free to make it unfree. You just need to change a few bits, then copyright the result. Isn't that how Windows got their first networking software? GPL is carefully set up to prevent that, which I like.
The program is nothing spectacular or ground-breaking. It is just a small tool written in C. It caters to my personal preferences with Shell script creation/maintenance which I initially did not intend to publish. It was just a project which I did mainly for fun.
Why lawyer this up and why use any license at all? What would you be protecting? I'm not interested in the various descriptions of "open source", to me it is two words, when combined indicate to me that there are no restrictions on the copying and re-using of my source that I publicly posted somewhere.
Why lawyer this up and why use any license at all? What would you be protecting? I'm not interested in the various descriptions of "open source", to me it is two words, when combined indicate to me that there are no restrictions on the copying and re-using of my source that I publicly posted somewhere.
The Berne Convention means that without a license saying otherwise what you have posted is fully proprietary. So without including licenses, what you've been publicly posting has only been proprietary and has no relation to free or open source software in any way. The lack of licensing on your code easy enough to fix though, if you wish for it to become free and open source software.
I don't write any more much but, given a choice, prefer AGPL among the reciprocal licenses for end-user oriented programs. For libraries or modules or drivers I prefer something non-reciprocal that still covers patents, such as the Apache 2.0 license.
The reason being is that end-user benefit from the freedom of reciprocal licenses and developers benefit from the non-reciprocal style. However, unless the product is a one-off and planned to be abandoned immediately without updates, then even the people using non-reciprocal licenses learn that it is to their advantage to commit upstream as much as possible.
why use any license at all? What would you be protecting?
All works in a fixed medium created after 1976 in the United States (with similar issues via international convention) are automatically copyrighted. This doesn't cover works that are not copyrightable.
Without a license or public domain waiver, people have no legal right to change or share your software. Attaching a license or public domain waiver ensures they have the right. Most people will not opt to share (many will not even opt to use) your software unless it comes with a license that permits it, because it comes with risks to do so. EDIT: looks like this was already covered, oops.
Last edited by freemedia2018; 08-09-2019 at 07:48 AM.
Thanks everybody for your input so far, this has been quite informative and is much appreciated.
Quote:
Originally Posted by rtmistler
Why lawyer this up and why use any license at all?
As has already been commented, it has to be specifically declared open source but I did not know that. My main concern were liability issues. Some licenses contain clauses that explicitly states that the software comes without any warranties. I do not know if some liability could be claimed if such a clause is not present. So it is not only about protecting the software but also oneself with at suitable license.
Even the GNU project suggests a non-copyleft license for small programs:
Quote:
Small programs
It is not worth the trouble to use copyleft for most small programs. We use 300 lines as our benchmark: when a software package's source code is shorter than that, the benefits provided by copyleft are usually too small to justify the inconvenience of making sure a copy of the license always accompanies the software.
For those programs, we recommend the Apache License 2.0. [...]
What do you (and other LQers) think of the copyheart.org concept of "copying is an act of love"?
My first thought when I read the name was, it sounds kind of "hippiesk", something that cannot be meant seriously.
A cursory look at the website confirms the initial suspicion:
Quote:
Q.Is the Copyheart legally binding?
A. Probably not, although you could test it:
A license that is not legally binding serves no purpose. That copyheart is nothing but a facetious gimmick. As the saying goes, there is a time and a place. It has no business in a legally binding document.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.