Absolutely.
And don't take this the wrong way... I much appreciate the improvements. But there's still a very strong trend that Microsoft code contributions tend to be in MIT or similarly permissively licensed projects. They still tend to avoid the GPL where possible.
(Disclaimer: Have contributed code and patches. I don't personally don't mind permissive licenses)
Of course, their projects does come with a patents license, in addition to the copyright license, but it's unclear to me whether this license applies to derivative works for example. I'm not a lawyer of course and I have a very limited understanding, but interpreting their license as an English text, I really don't think it applies to derivate works. Would like an analysis of somebody knowledgeable, because a project that can't be safely forked isn't open source. Here's their license: https://github.com/dotnet/corefx/blob/master/PATENTS.TXT
Anyway, my point is that I would have preferred something like the Apache License, which is still permissive, but was written by lawyers that know what they are doing and has an explicit patents grant in it. You see, people think of BSD and MIT as being "permissive", but that's only true as far as the copyright law is concerned. Patents are a whole different thing.
As a user, I prefer licenses like MIT that just give the code away with some reasonable strings attached. As a pip-squeak creator, I have to admit the copyleft licenses are attractive - the more viral and toxic (like AGPL), the better! I like being able to show off my clean and valuable code and have some reasonable expectation that no big corporation will rip me off. But then, universities and hobbyists will have full run of my code and that suits me fine.
Am I greedy? Am I stingy to think of my code this way? Should I be happy that anyone would see fit to use my code and thus maximize that chance by licensing with MIT? Or is no value ever generated with all the codes being completely free and open? I wrestle with this.
MIT or the MS-PL is much more practical.
if you are attempting to exploit other peoples code with out giving anything back to the people that created the code then GPL is a cancer
>MIT or the MS-PL is much more practical.
This depends on the project
I normally license my libraries, code I intend to be included in other software under BSD or MIT, but full developed software that is intended to be used as is gets GPL.
That's bullshit - GPL requires you to open source your derived work as well - which plenty of people have a problem with commercially - it doesn't mean you don't want to contribute anything (quoting you) back.
Even with the LGPL there are scenarios where sharing your code is not an option because of real world constraints (eg. NDAs), for example you need to modify the LGPL code to port to a closed platform. That doesn't mean you can't contribute back other improvements, but anything platform specific can't be released and therefore you can't comply with LGPL.
In general GPL creates a lot of problems to which GPL supporters just plug their ears and mantra "if you were truly free you wouldn't have those problems". Liberal licenses remove those problems and incentives to share back are there without the license requirement, you get your stuff maintained in the mainline and don't have to rebase on every update and reduce conflicts further down the development. LLVM is an excellent example of this where even traditionally closed companies OSS stuff because it's such a chore to keep up with latest. An example of a project being choked by GPL is Blender - a tool that has great potential to be a fully featured OSS 3D authoring package is struggling to fund developers because it can only sustain itself from government grants - nobody is interested in investing in it commercially because of the GPL. If it allowed for commercial plugins the OSS core would undoubtedly see significant contributions from those developers as well.
I'm not plugging my ears. I recognize it, and it's terribly unfortunate that one would ever be in such a situation, but the idea there is that the GPL would encourage the liberation of other code, and other platforms. Here's an example:
http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/doc/Why-CLISP-is-under-GPL
Now, you're talking about a broader issue than liberating a single program. But enough useful GPL'd software might sway larger systems.Otherwise, if modifying free software and in doing so making your modified program proprietary means that it can't be used at all, then that is the intent.
I'm actually in agreement with Ballmer on this one: GPL is cancer. And I love contributing to OSS in general.
If you are not distributing the software personally or outside your organization, the GPL does not apply to you. If what you are doing does not constitute a derivative work, then your software is also not affected by the GPL: if you're invoking GNU grep in your program, for example, your program does not need to be licensed under a GPL-compatible license.
For clarification, see https://www.gnu.org/licenses/gpl-faq.html
If you are only using GPL'd software, there is no compulsion to release your software under the GPL. If you, on the other hand, are releasing a product to other people and you have found a piece of GPL'd software that provides enough value to you to bother including it in your project, then and only then are you compelled to open your source.
I work on a OpenStack project that does DNS. We have plugable drivers for the different software out there - PowerDNS, Bind9, nsd, etc.
One of the people deploying our software wanted (or needed? - there was some weird legal / support issue) to plugin into Nominum.
Now, to even look at the API ref, or use the Nominum python lib, you need to have a support contract, and agree to not release them. If we were GPL, that user would not be able to use our project, but because we were Apache they could write an internal driver, and still have the same API as other OpenStack users.
I'm not sure if by "internal" you meant that they were only using it internally. If they're not distributing outside their organization, they have no obligations under the GPL.
Otherwise, yes, the GPL does not allow for distribution under an NDA, because it adds additional restrictions.
Even if Microsoft, big business and ivy league succeed in subverting the software architecture and environment built on the GPL license, hobbyists and developers will still continue developing on it (GPL code) on their free time.
(tldr; commercialization was never a real priority for GPL licensed software. it was the continued community sharing of works through licensed protected open source.)
edit: some developers are just in it for the love of money like m$, others are just in it for love of the craft.
My only chance of getting out of that is probably building my own products and partnering with a group of people who are good at marketing. I think, in large part, selling copies of software is a dead end business. There are some contrary examples, but I think they probably more prove the rule. Does anyone pay for Sublime Text for any reason other than "to support the developers" (i.e. not "because I need this software")? Video games have to be released on a regular schedule. Adobe has all the image processing patents. I think in all cases, people are buying something other than a literal copy of the software. So why not just sell that other thing directly and skip the noise?
On the other hand, assuming I end up making the libraries any good, someone else with a business of supporting software and the mercenary nature of refusing to help people with problems who don't have any money to pay, could probably snipe me in my own software.
So with that in mind, libraries I write always come out under the full GPL-3.0. Nobody deserves to close their use of my code. It has turned some people off (and I think that has more to do with their misunderstanding of what the GPL is practically about than any ostensible flaws in the GPL), but they can go start their own VR framework project for all I care.
Software that chooses a copyleft license like the GPL cares for freedom more than broad adoption of their software. I would never want you to help you create non-free software---that's antithetical to everything I stand for. Many feel that way.
You say "trace back and make arrangements with the owners of thousands"---why should you? Why would we want you to do that? Why would we have used the GPL to begin with? I would consider that to be an incredible situation! All these tiny libraries on NPM under the GPL that make it virtually impossible to develop proprietary software because of the infeasibility of working out deals with all the authors---some of which will never agree? That is freedom at its finest! That would be a huge success!
It's great that software like jQuery has had the success that it has. It shares a different philosophy. I don't call that philosophy a "cancer", even though it results in what I consider the worst possible outcome: proprietary software, and often SaaSS at that, which robs freedoms even more.
Please be respectful of others' philosophies. The GPL is the embodiment of ideals and the free software movement---it's more than a license.
I'm glad Microsoft is cognizant of the fact that they have legions of partners, vendors, and independent developers that have built their businesses on top of Microsoft libraries and technologies and has chosen appropriate licensing to reflect that.
That is not true at all and this reflects basically a willful ignorance of what the GPL actually says.
>> That's kind of my job, and I have to be pragmatic and practical about it.
Then you are bad at your job, because you do not know what the GPL means in practice.
How can it be that most of the most valuable technology companies in the world--Google, Facebook, Amazon, just to name a few--are built from the core-up on open source software?
Why would you want to release under any other sort of license? Why do you wish to restrict your users' right to use, modify & share code?
> can you imagine the clusterfuck if, say, the NPM community defaulted to using GPL
That sounds wonderful: an entire ecosystem of free software.
Not everyone agrees that this is a right.
You seem confused. The discussion here is about copyright law and intellectual property licensing. Code is a series of 1s and 0s that can be duplicated at almost no cost. Me "possessing" it doesn't deprive anyone else of anything.
The standard way to use GPL v2 is to use this verbiage:
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
If someone doesn't do that, I don't know what to say.While that choice might have been a mistake, it would now be an impossible effort to get all contributor's permission to change, so we are stuck with v2.
Yes, if someone else comes and extends your work and eclipses your production, they're able to decide what to do with it as they want. That's the key point of being open: Letting people do what they want with it.
If anything, I'd contest the claim that copyleft can be considered open source any more than a license that lets you look at the source but doesn't let you modify it. Copyleft controls the source and forces your views on people who want to use it.
"If you write software, proprietary content is a time bomb waiting to kill everyone involved."
Does this kind of language really help anyone? Do you want to be called a toxic waste distributor? Do you like to plant bombs in peoples projects, killing them?
Actually, we encourage people who redistribute free software to charge as much as they wish or can. If a license does not permit users to make copies and sell them, it is a nonfree license. If this seems surprising to you, please read on."
But many/most will follow the project directly. You can offer the source code to build yourself , or provide a convenient binary/installer for those who either don't want to or can't (for example).
This is especially prevalent for mobile OS's, where building is an unfamiliar task or PITA for many, even hackers.
Would I personally? No. But I respect that decision.
Look, it probably won't matter anyway. Probably nobody is going to use your software.