Most Projects On GitHub Aren't Open Source Licensed
PCM2 writes "Kids these days just don't care about open source. That's the conclusion of the Software Freedom Law Center's Aaron Williamson, who analyzed some 1.7 million projects on GitHub and found that only about 15% of them had a clearly identifiable license in their top-level directories. And of the projects that did have licenses, the vast majority preferred permissive licenses such as the MIT, BSD, or Apache licenses, rather than the GPL. Has the younger generation given up on ideas like copyleft and Free Software? And if so, what can be done about it?" Not having an identifiable license is one thing, but it seems quite a stretch to say that choosing a permissive open source license is "not caring"; horses for courses.
The vast majority preferred permissive licenses such as the MIT, BSD, or Apache licenses, rather than the GPL. Has the younger generation given up on ideas like copyleft and Free Software?
No, they haven't. They've just noticed that licenses like BSD is better open source license than GPL. There's a simple reason for it too - BSD license is truly in the spirit of freedom. Anyone, either open or closed source projects, can use BSD licensed code.
This means younger generation haven't forgotten about open source licenses (BSD is one), they've just chosen the better one of them.
I really like the GPL, I like what it is trying to do.
But over time I've gravitated to BSD like licenses, because I really do want as many people as possible using something.
It's a matter of trust - I trust that generally others will do the right thing, and good changes will come back. It's re-enforced by the fact that contributing code back makes it was easier to absorb updates to the main codebase, selfishly keeping your updates private makes lots of extra work for you over time.
The GPL tries to enforce something that will happen naturally, which I feel is overkill.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
I see the two comments up top completely missing the point, as does the original submitter.
This is why. And this is because they don't understand copyright law and don't realize that unless they explicitly put the code into the public domain or apply a license, no one can touch it without violating copyright law.
It's probably a mixture of that and outright laziness.
I am sure most of those 1.7 million projects have no aspiration to become a real software project. do they have a website, mailing list/forum, releases, users? or are they just random little scripts, snippits and exercises, just put on line for the education of others?
For a large piece of coding i might care about getting bug fixes back. for the script i use to sort my digital photos in to folders based on the date in their exif, and is 50% lines pasted from documentation or stack exchange, i don't care. if you want to know which licences are used for serious projects then grab the top hundred or thousand from ohloh and check them.
I have uploaded the meagre, puny code that I've written in a small number of projects without bothering with a license. I expect people to steal it and be quiet about it, because I am the noise floor of github.
Frankly for most projects on github (1.7 million is not a small number of computer software projects), legalese is a bother. It is simply uncouth and considered harmful.
All rites reversed 2010
I personally prefer the BSD license. To me freedom means "do whatever you want with it," as soon as you start attaching strings and restrictions it's no longer free.
Then why not make it public domain? Why attach a license at all?
Good question. Because without a specific license attached companies and individuals alike wont touch it. The default is "all rights reserved" meaning its not open unless specifically stated. You retain rights until you explicitly give them up. Hope that makes sense, I'm not a lawyer and may not have explained it in the best of terms.
I'm sorry, but the entire premise that there is one "best" open source license is completely wrong. Where did this obsession arise to see one license crowned victor over all others, in all situations?
BSD (and MIT and variants) -- I've found they work best for providing backend and reference libraries, which by their nature are trying to provide a standard implementation of something, or at least a standard API. Open and closed sourced projects alike can use and modify it to suit their needs. This means such a library gets the widest adoption over the alternatives (all other factors being equal). This is especially great for server-side programs which want to promote multiple third-party clients - just release a BSD reference client.
LGPL -- A step down, for when you want the adoption level of a BSD license, but your project is complex and high maintenance enough that it needs to keep all the developers focused on a single api and codebase in order to thrive. Graphics libraries like GTK, audio processing libraries like LAME, are a great example of this.
GPL -- Finally, for the same reasons as LGPL, your want everyone contributing back to a single codebase, whether it's because you don't want to give the codebase away to closed source products that then profit from it, prevent brand confusion, or just maximize developer contributions. Mind you, closed source projects *will* choose an LGPL/BSD alternative over this or closed source, so it doesn't make much sense for libraries, etc. Primarily, this is useful for applications, which are vying for user (not developer) eyeballs.
So given they all have different uses that fit better for different project types and target markets, who in their right minds thinks only one of these licenses is correct?
Meh, there's plenty of substantial work (coulda-been-paid-for-it) on GitHub.
However, it's is nearly all web-related. And the GPL doesn't offer much for web code, because the resulting application is rarely "distributed" beyond the company who built it. BSDish licenses are just a better fit for what they're trying to accomplish.
To me freedom means "do whatever you want with it,"
That's exactly the freedom the GPL guarantees. The GPL guarantees that every user of the software will have the freedom to do whatever they want with it. The only things prohibited by the GPL are actions that remove the freedom of others.
Give me Classic Slashdot or give me death!
Actually, even RMS refers to the BSD and Apache licenses as "GPL-compatible free software". So the GPL and other two popular licenses, BSD and Apache, are all free software by the Free Software Definition. The difference is that GPL is a copyleft license and the Apache and BSD licenses aren't.
Why are the Apache and BSD licenses becoming more popular than the GPL? Because free software has grown up. Where I work, we would not dream of implementing the whole software stack from scratch. We use lots of open-source libraries. My company's legal department is allergic to the full GPL because they want to keep open the option to do exactly what the GPL is designed to forbid -- make a proprietary product using open-source code. Usually our code is custom developed for a specific client but we might want to re-use that and/or make a general purpose product some day.
So, for us, using Apache/BSD licenses is easy. It's almost frictionless. Legal is comfortable with them, and pretty much all we have to do is include the license file and do a quick audit to make sure we've complied with it. GPL is much harder for us to work with because we have to justify to legal why we're signing away the rights before the product is even developed.
The whole point of the Open Source Initiative, as I understand it, is to promote adoption and use of free software. It turns out that copyleft is {sometimes, often} a barrier to that in the business world. So I would say that "open source" (aka non-copyleft) has simply beaten "copyleft" in the marketplace.
Copyleft was a brilliant idea but non-copyleft free libraries are what I use in day-to-day development work. And I say that as a dyed-in-the-wool, sandals-wearing, free-as-in-freedom, latte-sipping, corporation-hating hippie wannabe.
[Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
Welcome to the point. If you aren't willing to open source your code as well, then I don't want you to use mine. You can pay someone to write your own version. Pay in cash or pay in code, but no free ride to businesses.
I still have more fans than freaks. WTF is wrong with you people?
I am pretty sure I'm not the younger generation.
And yes, I've pretty much abandoned the GPL, because the GPLv3 is to open source what the anti-circumvention cause in the DMCA is to copyright. RMS had a vision of a cooperative paradise. Then he realized that some people wouldn't play nice, and did what everyone else does when they realize that not everyone will voluntarily adopt the business models they want everyone to use. Tried to figure out a way to make it happen by force.
So, yeah, I'll use the GPL where it's the established license, and some of the stuff I work on ends up being put out under LGPL. But for stuff I write because I want it to be open source? Permissive licenses. Usually the lightweight BSD (no advertising clause) or Artistic, or heck, public domain. My goal is to give stuff away, not to force other people to give stuff away.
It's the same thing that's happened to my morality over the years; I've started focusing more on living according to my own moral beliefs, and less on trying to find ways that society can force other people to do so too.
My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/