Those of us old enough to remember, the landscape looked a lot different 15 years ago. There was optimism, there was a desire to install Linux on everything possible, and the GPL was the default license for most new free software that was getting written.
It was not without strife. Since 1998, people like esr have been saying how the GPL is passé and is no longer needed because open source won, because open source was superior, because companies would naturally want to share their source code. Nobody needed anymore to be coerced into respecting user freedoms. Then the corporations started to take note and through their clout, they have convinced their employees that nothing is worse than keeping code free. Only unimportant scraps of code can be free, but the real code must remain secret, restricted, proprietary. AGPL is the ultimate evil to be avoided at all costs.
I don't like this shift. I miss the Slashdot days. I miss the jokes about installing Linux on dead badgers. I wish we had a collective desire to do something about the most widely deployed proprietary software controlling our lives in the pocket computers so many of us carry around with us. We haven't won. The code is locked up, the spying is worse than ever, and the corporations are winning. They even influence the direction of Linux, actively trying to subvert GPL compliance efforts such as the VMWare GPL lawsuit by pulling Conservancy's funding.
The GPL is a much-needed defence. Software controls ever more things of the internet. We need to bring back the rebellious attitude of the late 90s and early 00s. Linux needs to be installed on all of your phone, down to the radio firmware (and the dead badger).
Edit: The best part was that we were using some of the libraries in a way that there was ambiguity over whether we needed to open source the application so instead, they paid the Qt foundation $5k for the enterprise licence instead of the GPL version...
I really don't get where your coming from, having been a Linux user since the late 90ies i have seen nothing but progress for the desktop since the arrival of the commercial interest.
Yes the community lost some of it's cohesion but thats the consequence of going mainstream and achieving pretty much everything we were hoping for back then.
Listening to the FSF people today you often get the same paradise lost sense you get from old hippies who have forgotten exactly how bad the world outside of their bubbles were back then and how much have changed for the better in the meantime.
The fact that these companies fear the AGPL so much is probably reason to start using it more. They won't respond to anything less at this point, they need to be dragged into it kicking and screaming. They have made it clear by now, there is no other way that they will even consider the concept of respecting users' freedoms. This will continue to be the case even with organizations like the Linux Foundation, which, if you look at who their biggest sponsors are, it becomes pretty clear which agenda they are going to be expected to push.
Only unimportant scraps of code can be free, but the real code must remain secret, restricted, proprietary.
Clearly Microsoft missed this as they are open sourcing most (all?) of .Net?
Ie. Facebook has open sourced React, Cassandra, HHVM... but they will never open source the code that powers the newsfeed or the friend list.
I don't think companies that do this have a true commitment to respecting their users, and their rhetoric about the evils of copyleft always make me think, "what are you trying to hide or control?"
I don't care for the way the my Microsoft Windows computer changes focus between windows. I'm sure a quick change to DWM.exe (Desktop Window Manager) would make me much happier as a user. I'll even do the work myself.
Can you tell me where I can go grab the latest source code for DWM, so I can make those changes?
I don't think it's possible for a home user. And I think it's important.
(If I'm wrong, I'd love to be corrected.)
I don't find the argument that users will go around making changes and testing them on OS level code to be a credible reason for open-sourcing anything. If you want to say, that having the code helps in other ways for development, or debugging then sure..
I also wish I had the source code to the controller software to a large motorized rock climbing wall that was produced back in 2002. The "Assent fun rock".
Alas, I don't. So... I've reverse engineered the protocol between the device and the native computer controller and implemented my own controller stack from the ground up on linux.
Why? because I wanted to add an algorithm that lets the speed of the device respond to the reading on my heart rate monitor.
Here's a photo of me on the thing, courtesy of my friend.
Good question. Just ask it respectfully because..
> Alas, I don't. So... I've reverse engineered the protocol between the device and the native computer controller and implemented my own controller stack from the ground up on linux.
... it gets better everytime it actually is a hacker on the other end.
Have my upvote!
Can you point to all the things you have modified in programs where you do have source access?
Can easily be interpreted as slightly disrespectful.
I think its fair to say you obviously understood the spirit of my question since the context was open source operating systems. So, let me ask again, what have you changed about the OS at a system level?
I chose my "climbing wall" example because IMO it's the closest a story of my own comes to Richard's experience (granted there are differences). To me, that makes it very much an "open source" example.
Between both Richard's printer, and my climbing wall both of us are basically happy with a hardware/software combo. We just want to make a tiny change. But - we can't.
(Unlike Richard, I feel absolutely no righteous anger, but like Richard, I did roll up my sleeves and get to work and now - Yay! the thing I wanted exists in this world!)
If you still would rather I give a different example that might be better in line with your expectations and personal definitions... fine. When I was a teen, I got a copy of Gary Nutt's book: "Kernel Projects for Linux", using the book, I modified the ext2 file system to allow for "tagging" of file entries (As much as it pains me to say it: think hashtags). I would tag source code with the project name it belonged to.
I used that file system for years and years. I enjoyed this minor feature and found a lot of joy in having done it myself.
Now coming back to the example, that is a great example. I think we can learn a lot from that. One thing is that 'open' is a large cafeteria. You would agree that simply opening the source is not sufficient in most cases. If the spec for EXT2 changed after every minor update to the kernel that would make your addition pointless. Same thing with the API at the I/O level. If that changed all the time, it would make your addition brittle and prone to breakage. So what is it that's really beneficial here? I'd argue that the source is the least important here. Open protocols, open data formats, defined interface boundaries, and the like are _much_ more valuable, really, several orders of magnitude than simply dumping several million lines of code onto someone.
Also.. its funny that you mention RMS since he is so vehemently opposed to using the term open source :P
"Users" empowered by the source code do not just simply make changes, they write complete replacements for parts of the system.
On an open system you have plenty of choice in WMs (all written by the "users").
On Windows you are stuck with DWM.exe.
My point was that when the source code is available, the users will even write complete replacements, instead of just adding small patches.
On Windows, for example, as an user you are free to replace and rewrite drivers for any piece of hardware even if you don't have the source for the OS. Another feature of Windows, a defined ABI, allows Wine to continue running Windows code, even when the internals of Windows change. Another feature of Windows, the modular I/O system, lets you to modify behavior the file system through filters (without worrying about how I/O works internally). You can basically write your own file system, or even extend NTFS, using this, all without knowing how Windows works internally.
The Linux kernel, historically since it was based on UNIX was not modular. Now it has some of the things NT has, and also some cool stuff that NT doesn't.
"""BootShellCredentialProvider - Bringing Linux DEs to Windows
BSCP lets you boot Windows directly into a Linux desktop experience, using Windows' native Logon UI and a combination of Xming & WSL upon login."""
Open Source has been commodified into free-as-in-beer stuff to build the next product - that will spy on us.
Or grow older.
I started playing with Linux around 1995 - first distro I tried was "Monkey Linux" (ugh!). Eventually moved on to Turbo Linux 2.0, then Redhat 4.2 (IIRC), then SuSE...
Anyhow - maybe not since the beginning, but long enough. I was a lot younger then, and perhaps more idealistic than today. But I do agree with the OP that we need to return to our roots on this, and get that drive back.
...and I agree with you that it will be back. Maybe it should start with us first.
AGPL is unpopular because the lawyers are afraid of it :(
That just seems like entitlement. "Home Depot released a really awesome free toolbox that has everything you need to build a house, but they didn't release the blueprints for Home Depot brand houses, boo hoo"
Proprietary software is about control and ownership. Those peddling make it sound like it's an inevitable aspect of business. Since businesses exist that don't rely on proprietary software at all, we know it isn't actually inevitable.
Giving power to the users can be costly and so often software is proprietary if only to mitigate risk. For example, I work for a satellite ISP. If the software running on the modems were completely open down to the radio firmware, normal customers could bring down the entire network by commanding the radio to setup a continuous wave that interferes with other people in the same satellite beam. Or a competitor could look at our source and see which TCP optimizations we have made for the satellite link and copy them (depending on your stance on software patents, this would be hard to protect).
So yes, you can "buy" and "own" one of our modems, but solving the aforementioned issues would take a lot of thought, a lot of money, and probably a lot of (hardware) cryptography to prevent malicious radio usage if the software were completely free as in freedom.
But the way things were back then depended on peoples' attitudes, and those have all changed, for the worse. You might as well give up; those days are over. People don't care about FOSS, GPL, Linux, etc., except as a means to an end (more profits). The corporations have won, and we might as well get used to constant spying.
Also worth mentioning is that this is part of a bigger problem in society. Everything in western (particularly American) society is going downhill, and has been for the last 16 years. We just need to realize that this is inevitable and unavoidable: all societies collapse and fail at some point. The Roman Empire didn't last forever, nor did the British Empire. Internal stresses, corruption, etc. eventually take their toll and it becomes impossible to reverse course. Every big society has collapsed at some point, or at least turned into a has-been, and it's our turn next.
I find it disheartening to see these statements on a site called "Hacker News"; the only way I'd be disappointed further is if I read such a defeatist missive within the editorial pages of 2600 Magazine.
Remember - they only win if we give up and let them win.
Surely you've heard the saying "pick your battles carefully". Sometimes it makes a lot more sense to just give up and look for greener pastures.
I would argue that if "western" society collapses, it's pretty much the end of humanity. I don't think the Roman Empire was responsible for half the world's GDP and at least half the world's nuclear arsenal... Also, the British are still around. They just gave up trying to control the whole world in an era before speed of light communication.
As for the British, they're completely irrelevant these days, and becoming even less so with Brexit.
I think humanity would be just fine without "western" society.
And seriously, how they they possible come close to quantifying relative GDPs in ancient times, or even as early as the 1700s or 1800s?
I see lots and lots of code, created and shared by volunteers.
The most permissive licenses present little risk and few
compliance requirements. These licenses include BSD and
MIT, and others, that have minimal requirements, all the
way to Apache and the Eclipse Public License, which are
more elaborate in addressing contributions, patents, and
In the middle of the spectrum are the so-called ‘weak
viral licenses’ which require sharing source code to any
changes made to the originally licensed code, but not
sharing of other source code linked or otherwise bound to
the original open source code in question. The most
popular and frequently encountered licenses in this
category are the Mozilla Public License and the Common
Public Attribution License.
Restrictive Licenses present the most legal risk and
complexity for companies that re-distribute or distribute
software. These licenses are often termed ‘viral’ because
software combined and distributed with this licensed
software must be provided in source code format under the
terms of those licenses. These requirements present
serious risks to the preservation of proprietary software
rights. The GNU General Public License is the archetype of
this category, and is, in fact, the most widely used open
source license in the world.
> These requirements present serious risks to the preservation of proprietary software rights.
Which is why the GPL can be called "more free" than the BSD licenses. Code licensed under it is not "appropriable". In my view, that's a feature. In their view, that's a "restriction". I don't see how I should want other people applying their proprietary (read: way more restrictive than the GPL) licenses or not share the code at all. They want to, I don't want them to. Different perspective.
It is clear to me that the GNU/Linux world would be very fragmented, if it existed at all, were it not for the GPL.
I write some code, and I want to share it with the world. But I don't want to just "give it away" - if that were the case, I'd make it "public domain". Instead, I license it as "GPL".
My price to you, someone else who wants to use the code? Simple and cheap:
If you make any changes to the code, and distribute it (binary or otherwise) publicly, you must give those changes back to the community, the public, and me the author, so that the code can continue to grow.
Don't like that? Then don't use and change the code. Or don't distribute (sell or give away) the code.
Basically, I consider it a way of paying for the code - by "paying it forward". Corporations should consider it a low price to pay, not a hindrance to business.
As a concrete example of how this imposes real restrictions, the proprietary macOS got ZFS and DTrace starting, oh, ten years ago or so; Ubuntu got ZFS last year and there are still people who are pissed about it, wanting Ubuntu users to be forced to jump through the Purity Hoops that they already have to use for their proprietary drivers. Ubuntu's decision to ship ZFS cannot possibly be read as an attempt "to deny others the freedoms that Ubuntu enjoys." There is no freedom which Ubuntu enjoys which it is trying to deny others by shipping ZFS.
You still need to jump through the Purity Hoops to run DTrace: the "official channels" way is to not run DTrace (they recommend that you install systemtap and use a GPL application named `dtrace` which makes systemtap take DTrace-like input and produce DTrace-like output), and if you actually want to run DTrace you have to grab the `dtrace4linux` project off of GitHub and modify only your own system with it and then every time you load the thing your syslog will remind you that "module license 'CDDL' taints kernel, disabling lock debugging due to kernel taint," so I don't know what lock debugging is but I hope you don't need it.
You got it backwards. The CDDL does not ensure the same rights Sun gives to whoever receives ZFS source can be passed further down to other users who didn't get ZFS from Sun. Therefore, it's not compatible with GPL. You enjoy rights Sun gives you but others can't enjoy the same rights unless given by Sun.
This being said, your examples are rather unfortunate because
1. to avoid this exact trouble, RMS&FSF designed the GPL as one copyleft to rule them all and encouraged all copyleft supporters to standardize on it
2. rumor has it that Sun execs and lawyers deliberately used incompatible license to keep ZFS and DTrace from Linux vendors competing with Solaris and in any case they probably could have used GPL instead.
Regarding (2), the history is a bit murky. Danese Cooper wrote the CDDL and has said that GPL incompatibility was intentional; but several others have come forth (both at the talk that he said that, like Phipps, and since then, like Cantrill) to say that it was not a design goal at all, it was in fact a compromise between engineers who wanted an MIT/BSD license and management who wanted a GPL license.
The true story seems to be: Engineers were very firm about "if you force people to jump through the Purity Hoops to install proprietary drivers you are increasing the total quotient of worldsuck for generations to come and frankly, why the hell are we opening this system if we're going to make the world suck more." Meanwhile management was very firm about "we worked so unbelievably hard to open this thing up, we don't want some big player like IBM to just fork off a proprietary version, spend a big budget to become the big player in the Solaris game, and then all of our work open-sourcing this damn thing was for nothing." The CDDL was a clean-up of the Mozilla Public License which sensitively addresses both issues, it deliberately contains a big honking wall which is (and everything inside of it is) copyleft open-source, but the license has no problem being distributed with proprietary add-ons as long as the interfaces they use, baked into the copyleft open-source wall as they are, follow the copyleft open-source license of the wall and everything therein.
Well, exactly it's "if you have any national identity, feel free to adopt ours and work together" ;)
And yes, I should have said "strong copyleft". The thing is, even if GPL replaced "all derived works are GPL" with "all derived works must respect user's freedom", any derived work would have to be licensed so similarly to GPL to be barely distinguishable. Say, if GPL work A was incorporated into a free-but-not-GPL work B, you still wouldn't be able to incorporate B into proprietary software because of the A part, even if B developers don't mind.
MPL/CDDL avoid "virality" only by being weak copyleft, which GPL is supposed to be not.
However, from a business standpoint, can you explain to me how linking in GPL code wouldn't just cause my customers to grab the source for free and consume my work without paying? I'm not afraid of using LGPL or GPL with library exceptions, but linking in pure GPLv3 scares me because in my mind it says "Why would customers pay you to use your product when they can just do a git clone and use your product for free?"
That's what I do. Hello MIT/BSD
> Again GPL protects the user of the code not the developers that want to remove the user freedom.
Right, which is why I'm always surprised when people are upset that developers don't use GPL more
But what if you write a library or something that becomes popular, very popular or very useful, and your users and others (maybe yourself) want to add a great feature, but it is something that is very difficult to do, or would require more than a single developer to do - in short, it would take a while to do, if possible at all...
...then company B comes along, sees how well you're doing, and says to themselves "you know, this would be great to have that market - and oh, look - the BSD license...perfect!"
So they take your code, add in the changes the users are clamoring for (because they have the resources to do so), then make it all proprietary (perhaps - if you're lucky - with a message buried in 4pt font somewhere that say's a "thank you" and "copyright, etc" to your efforts, as required by the BSD license) - then they market the hell out of it to your users.
Your users see it all - and the flock to it, leaving your efforts to wither and die. You won't be able to catch up, and those extra features they added will keep your old users happy. Perhaps they release an API to allow others to use it, but never the source code.
They've now locked it up, and all your hard work is for nothing. But hey, you used the BSD license, and all's good, right?
/...and this is why OSX is more popular than BSD...
Those are often freeloader companies and the decision usually lies in management.
Support? Consulting? Hosting?
(A distinction not unique to software, and under threat in other places as well: "no user servicable parts inside". Many might be helpless, but who could argue that enforced helplessness is a good thing?)
The problems of UNIX generally come from assuming either that users are never devs and sysadmins, or that all users are devs and sysadmins.
1. I personally think available source, even if only escrowed, should be flat out requirement for copyright period but that's a different discussion.
First, if the user is someone who can modify the code, then the rights aren't just those of the original developer.
Second, if the user is someone who can't, it provides them with the ability to hire someone who is, or to learn themselves. This is especially important when the original developer cannot or chooses to not support the software (at all or on a specific platform.)
Take the coming y2038. For many things, the changes aren't immense, but the original developer could die in 2027 and never make them.
Access to the source is crucial, even if the user doesn't think they'll need it or be able to use it themselves.
The point is the person who makes a few tweaks and distributes has to pass on that privilege.
A good book can solve that.
The fourth category is proprietary licenses, which do not allow you to distribute or redistribute software combined with software under these licenses at all. But weirdly, these are never described as 'viral'.
(I have no issues with proprietary licenses, just trying to abuse the analogy.)
> ... Greg Olson [referred] to the GPL and other copyleft licenses as “Restrictive Licenses” and “viral.”
The original article, which he then quoted, reads:
> These licenses are often termed ‘viral’ because ...
So, while Mr. Olson did use the term "viral" in his piece, he didn't specifically call them "viral". Instead, he said, quite literally, that "these licenses are often termed 'viral'" (and they are).
Anyways, the open source world has been having this argument forever -- often in the form of whether the BSD v. GPL is more "free" -- and it all depends on whose point of view you're looking at it from (the developer's or the user's).
Myself, I like to see it with respect to what is protected by the license in terms of freedom.
- "Permissive" licenses (BSD-like) protect a single snapshot of the code, as it exists the day it is released. That version can be used freely by anyone, but the possibility to impose additional restrictions means that you won't necessarily be free to use the versions derived from that snapshot.
- "Protective" licenses (i.e. Copyleft) protect the whole project in the long term, whether it is the snapshot released under the license or any later modification of it. You are guaranteed access to any version that someone releases of that code, under the same terms that give you the freedom to use code.
So while one could argue that they are "protective" because they protect the rights of future users, one could also argue they are "restrictive" because they remove the right to add restrictions - which is, itself, a right!
BSD-style licenses give a greater number of freedoms to the user who initially receives the software than GPL-style licenses. This has been used to argue that they are overly free, and used to argue that they are insufficiently free. But I think it's important to point out that there's a valid point of view in which "the ability to prevent someone else from doing something with my work as I choose" is considered a freedom that some licenses take away.
While true from a local perspective (how many actions can you perform over this snapshot of the code), you're missing the systemic point of view.
Every time someone adds an additional constraint over their released copy of the project, they're killing off every possible action that downstream users would have made starting from it.
Imagine for a minute that Webkit had been licensed as BSD or MIT rather than with the protective LGPL, and Apple had released Safari with a fully proprietary relicense. In that case, neither Chrome would exist nor any of the other modern non-Firefox, non-Trident browsers (which depend on the cleanup performed by Apple over KHTML). The share-alike clauses of the LGPL guaranteed that Apple didn't have the option to restrict use of the software, creating a whole world of possibilities for anyone starting from their improved version, that wouldn't exist otherwise.
I'm not saying that a project under a share-alike license will always have more actions available overall; it depends on how the project is adopted by their community of users. But counting only the restrictions imposed on any particular snapshot of the software misses the forest for the trees.
Preventing someone downstream from adding constraints is, in itself, adding a constraint. The argument you make about other possible actions also applies to the-action-of-closing-the-thing-off; the butterfly flaps its wings just as hard for commercial software.
I'm not "missing the systemic point of view", I'm just pointing out that what we've got here is a group that is arguing in favor of restrictions of a certain type because they say that restrictions are, in themselves, wrong. That would be more palatable if it were framed as a "lesser of two evils" situation, but instead it's presented as being 100% undiluted moral right.
I wish that people who zealously supported BSD-style licenses would take a moment to understand why it's important to others that software remain free-in-whichever-sense. I wish that people who zealously supported GPL-style licenses would acknowledge that they are taking away a certain set of otherwise-available rights concerning what others are allowed to do with their software - NOT maximizing possibilities, but instead restricting them to a certain set they find agreeable.
Yes, it is. As in one (1).
> The argument you make about other possible actions also applies to the-action-of-closing-the-thing-off
Uh? How many actions are made possible by a company closing access to a version of a free project? Even if this closing-the-thing-off creates some possibilities, those will be limited to the company that keeps the version to themselves. How can the amount of these actions be larger than those actions available to all the other people, who are now unable to use that version?
> I'm just pointing out that what we've got here is a group that is arguing in favor of restrictions of a certain type because they say that restrictions are, in themselves, wrong.
This is not how I see it, and I'm an advocate of Free Software (including and preferring the GPL share-alike version), so you may be attacking a straw man there. In fact, I'd say that the people defending BSD-like licenses are more prone to making the "restrictions are wrong" argument.
> I wish that people who zealously supported GPL-style licenses would acknowledge that they are taking away a certain set of otherwise-available rights concerning what others are allowed to do with their software - NOT maximizing possibilities, but instead restricting them to a certain set they find agreeable.
I do acknowledge that share-alike is restricting some actions that are possible with BSD-like, but overall I believe that this constraint DOES maximize possibilities when seeing the big picture.
As I've argued above, the idea of those constraints is that the constrained environment should have more total possible actions in the aggregate, even if every individual player has one less action available on paper. If you don't acknowledge this possibility, you are not getting the point why the constraint was added to this kind of license.
You can use that word with that meaning, but then I won't see any negative connotation with it, and will be happy we are restrained!
- Permissive licences often don't guarantee anything to the end user. Nobody is under any obligation to make any source available to you at all, original or derived versions.
- Copyleft licenses, by contrast, guarantee the end user gets access to the code that's running on their system.
The reason some programmers hold GPL in contempt isn't due to picking a sports team. It's really annoying to have to explain to a true believer (of GPL) that it potentially taints codebases it mixes with.
It's also a license that's complex and hasn't been tested in across jurisdictions. So arguing about what happens on a message board isn't fruitful since there is no case law. You may be recommended to "see a lawyer". I've spoken to a few people who have, ultimately the lawyer throws their hands in the air and say we don't have answers to the "What if's"; there isn't case law. And at that, the consensus of a random person on the internet isn't going to hold weight if you're accused of violating the terms of the license.
It's hard to pick GPL on the merits. Permissively licensed projects don't seem to be having reciprocity issues. Can't remember the last time I heard these thriving BSD, MIT, Apache2, ISC licensed projects complaining about freeloaders.
By the way, really happy Nintendo Switch picked up FreeBSD recently. Looking forward to upstream patches, even knowing it's entirely voluntary for them to give back.
Why? Because the potential reciprocity from a big player is better than having a license that obligates reciprocity strictly, even punitively. Which could cause them to look elsewhere, to a proprietary solution. No entity wants to risk their hard work to become a derivative of a smaller project they pull in.
The rest of your reply reiterates the usual developer focused "open source" viewpoint while mistakenly suggesting that it's also the focus of free software. The goal of free software has always been user freedom. Source code in the hands of users. It's not about upstream contributions. Having a free library used in a proprietary program does not advance user freedom, though it may lead to a developer improving the library. All the upstream contributions in the world simply do not matter if the user is not entitled to the complete source code of the programs that they use.
You greatly overestimate the skill and interest a lot of developers have in the niceties of source code licensing. I've had to remind colleagues more than once that the code they want to appropriate can't be used in our code base because of license incompatibilities.
Sorry but I'm not sure what you're trying to say here. In other engineering fields, there's no equivalent to copyleft licenses (at least that I know of) for designs/processes so it's not an issue.
What do you prefer to call what it does to anything it is compiled with?
BTW: I think you answered a different question than the one I asked.
Because there's an unfortunate kernel of truth to it?
From the standpoint of people using any other license, copyleft code (intentionally) causes an undesirable side effect of attaching its license terms to your code base if the slightest bit of it is merged in, whether through a developer's carelessness, ignorance, or otherwise. And the effects may not be noticed for quite some time. It takes vigilance and developer education to prevent this from happening. One struggles to think of a term that doesn't have pejorative connotations to describe this effect. I have yet to see anyone suggest a credible alternative.
(And please don't suggest "protective"; that's so transparently doublespeak that it's surprising that it ever took off. Things that are protective don't just reach out and latch onto other things they are accidentally brought into contact with.)
EDIT: minor rewording for clarity
It doesn't reach out, it grants you a ton of rights in exchange for you preserving those rights downstrea. in projects you use it in.
If that is not a good tradeoff for you, don't use it.
You make it sound like an active, infectious agent.
There's some just don't know, some take the attitude "it's on the net so I can use it" and then I've encountered people who are scared into going to the other extreme - linux is GPL therefore we have to release our software product on BSD if we don't want to open source the whole thing!
Some of the big corporates are quite hot on education in this area, but their actual FOSS-related proceses can be byzantine and weird.
I am thankful for GPL and GPL-ed sw. I just find some of the advocacy for it a bit annoying.
Basically: "if you compile GPL-licensed sw with your code the GPL-ed code <something something> so your code becomes GPL-licensed as well."
IF you release your code it will be in violation of the GPL and you can: unpublish the release, or switch to a different non-GPL codebase, or reimplement the GPL part, or ask the authors to give you a dispensation or switch your code to GPL.
IF you don't release it and use the code internally you are fine.
It's at least 6 options, only one of which requires licensing your code as GPL.
And it's really just that. It doesn't force any license on your code. You can still release your individual contributions under a BSD-style license. The one thing you can't do is placing additional restrictions onto your peers.
 The combined work may be effectively distributable only under GPL-like terms, of course.
The AGPL on the other hand, now that really is a hated licence: https://opensource.google.com/docs/using/agpl-policy/
>WARNING: Code licensed under the GNU Affero General Public License (AGPL) MAY NOT be used at Google.
>Using AGPL software requires that anything it links to must also be licensed under the AGPL. Even if you think you aren’t linking to anything important, it still presents a huge risk to Google because of how integrated much of our code is. The risks heavily outweigh the benefits.
>Do not attempt to check AGPL-licensed code into google3 or use it in a Google product in any way.
>Do not install AGPL-licensed programs on your workstation, Google-issued laptop, or Google-issued phone without explicit authorization from the Open Source Programs Office.
You can take a quick look at https://en.wikipedia.org/wiki/List_of_products_based_on_Free... for a non exhaustive list of products based on FreeBSD. Some of them are doing some contributions, maybe some of them are 100% open source (I don't know), but clearly some are not open sourcing their most added value stuff, even when it is a clear derivative of BSD code.
It's bizarre. They'd rather have their code locked up into someone else's codebase than having it always free in someone else's codebase.
Also, I thought that was resolved by putting the license back in the file, causing it to be licensed under the intersection of BSD and GPL.
Potential contributors often never hear about the Open Source projects used behind their television, phone, routers, editors, games...
Look at OpenOffice compared to LibreOffice, for an example of this. If there wasn't a GPL version the community would have rallied around the Apache version.
Then LibreOffice was started to sort this all out. A real fork, a new name, it folded in Go-OO and other community improvements and committed to proper governance, addressing technical debt etc.
A year or so later, Oracle 'gifted' the stunted and now somewhat left behind OO.o to the Apache project. A few corporates got behind it, but it had no community traction, and any small improvements that did get rolled in were very quickly adopted by LO, where flow the other way was almost non-existant.
This is not really a story of licensing as much as it is community mismanagement by Sun, and active hostility from Oracle.
OpenOffice not working at all is not due to the license, at all. OpenOffice didn't work for a long time. Distributions have always added a huge patch to make it work nicely for them. There's been calls for ages to change things and not much was done with it.
Eventually they started LibreOffice and focussed on making it easy to contribute.
In above, nothing is about the license!!
I don't know if that's the reason why it didn't pick up, but generally I think of code that goes to the Apache Foundation as going there to die. The foundation seems to receive abandoned code that nobody wants to maintain.
: https://reswitched.tech/software/os (Reswitched is the switch RE project)
These programmers, for consistency, should hate proprietary software even more, because it permits no mixing at all.
And yet, they tend to be the ones writing it.
People who use the GPL want an alternate ecosystem, away from that. Microsoft builds theirs, Oracle buys theirs, Google builds theirs; why should a band of programmers not organized under a brand name not have theirs?
Bluntly, don't like the GPL? That's totally fine; go build your own ecosystem with whatever terms you like.
The reason is simple and I see it akin my opinion on religion: it's okay to have your own believes, but don't force them on others. While I believe that we should all be doing Open Source for the benefit of humanity, I also understand that there are many companies who do proprietary software for different reasons. And not everyone can afford to do work exclusively on open source.
I also fully understand that not everyone/thing can be GPL. I'm not religious about it. I've contributed to open source under several licenses, and to proprietary applications.
But the fact remains, if you don't like the posted rules, don't play in the sandbox, just like any other license, even if you really like the toys.
And really, asking people to comply with a license is nothing like attempting to force beliefs on people. It is asking them to follow a legal agreement. Or do you think I am endorsing Larry Ellison's political views because I'm covered by a licensing agreement with his firm?
With GPL it is similar in the way that it doesn't matter the license that you want to use but you have to use GPL. You can sometimes just not use GPL, but other times your only real options are to be forced to change your project license or to break the rules (neither of which is good IMO). Of course you have to follow the rules for any license, but other licenses are more permisive in the way that you can use the software with whatever license you want.
But that is every license, aside from a few experimental/performance art ones. If you want to use others' code, you have to go through the motions of code's license's religion.
I find it noteworthy that people only use the word 'religious' about the GPL. Not Microsoft's terms, which are massively more restrictive and not the weird ones that actually do get slightly religious (Artistic License).
Something about heathens and heretics, I guess.
With MIT for example it's more like "you can come to our country and keep your religion, just don't say our religion doesn't exist (keep the original notice intact)".
About religion, it's just one random topic and it probably was a bad idea to use it as a comparison since it does have a negative connotation for some people. I didn't mean at all like the negative side of religion and apologize if it sounded like that.
In JS-world most libraries are MIT-licensed, so there was only a couple of times where I had to remove minor dependencies which didn't really affect me.
I think tainting is worse than not using at all. I don't have a problem using gpl software as a user, but if it is at all programmer oriented (library / API / etc) I avoid it like the plague. I license software I write for personal projects in BSD, but I don't start with restrictions. This was a known problem with GPL, and they the LGPL was supposed to address it. Pointing out obvious concerns of programmers considering GPL shouldn't give anyone the vapors.
I consider GPL to be better than proprietary, because at least you can still see the code. Although it is just a slight step above proprietary in terms of restrictiveness.
The GPL is user-centered. It's not designed to be nice to developers, but to protect the user's freedoms.
So to a first approximation I expect that developers that think more of developer's freedoms favor the BSD license, while developers that think more of user freedoms favor the GPL.
* Unless those users are developers.
I still haven't figured out the distancing and discouraging of LGPL. A lot of software doesn't have much distinction between user and programmer. GPL is one of the worst licenses for a library.
Your project respects user freedom? Okay, we're working under a common cause. Take my code (and my axe!).
You want to exploit my software for private profit? Fine, that's the reality of the capitalist society we live in. But you'll have to pay me. By demanding a "permissive" license, you're valuing my labor at zero while valuing your own above that.
GPL is evil, it's a virus.
We are so much better, we use BSD.
All we care is that people use good code, our code is good, we make it BSD so everybody can use it.
X Million servers out there are using our code, only 12 people give us any money, the world is a horrible place.
No it doesn't.
I can "steal" your GPL code, make lots of private modifications to it and make lots of money from it without violating the licence. All I have to do is run the GPL software on a server rather than distributing a binary to end users. That also happens to be the more common way to release software these days.
If GPL developers really cared about their work being stolen or the rights of end users they wouldn't be using the GPL, they would use the AGPL.
How are you giving away your users rights? The permissive licenses don't impose any restrictions on your users. They can do as they see fit.
I prefer to say it potentially frees the codebases it mixes with.
> a license that obligates reciprocity strictly, even punitively.
I cannot follow this argument. You got a whole codebase for free. Reciprocity would be if you gave your patches upstream. The GPL, while it doesn't enforce that, forces patches to be available downstream, where they can be taken back upstream. The GPL forces developers to be honest. Permissive licenses allow them to be honest, if they are so inclined.
GPLv2 is older than most of the other licenses listed. It is clear, simple, and the reason lawyers throw up their hands is because, if you want to do something sketchy with GPL'ed code, you will lose. There are no easy ways to attack it.
"No entity wants to risk their hard work to become a derivative of a smaller project they pull in."
But they are a derivative of any project they pull in.
If you don't want your hard work to be swallowed up into some company which profits from it, doesn't make its changes available and ultimately develops a competitor that the original cannot legally use improvements from, a BSD license won't help you with that. If you don't care, then there are any number of choices.
Other licenses you mention are also complex and haven't been tested. Licenses in general, not just GPL, are harder than people think. When it comes to lawyers, you get what you pay for.
It's revealing at the end that you say "no one wants their hard work to become a derivative of a smaller project they pull in." The size of the project doesn't give it special entitlements. Why are you pulling in someone else's code if you don't intend to respect the license set by the person who wrote that code? That sense of entitlement to exploit other people's work without reciprocation (because you're bigger?) is the problem creators use the GPL to address.
If you want to build a community that isn't based on the crumbs that some company (like Nintendo) allows to fall, and you don't want that to be subverted by free riders who use your code to compete with you without letting you use theirs, GPL is a better choice.
But if and only if it is your code, it is your choice what license you use. Note that in the real world, people are constantly attacking GPL and harassing people who apply GPL to their own work, but the other way is not happening. We should respect the licenses applied by creators to what they create.
The GPL license text explicitly addresses this concern. The FSF cannot make a GPLv4 that removes one of the 4 freedoms, for example.
GPLv4 should really be based on the AGPL, but that would violate freedom zero. The restrictions in the GPL are becoming increasingly pointless. For a large section of the computing industry the GPL is functionally identical to the liberal BSD style licences because the program will never be "distributed", only made available over a network.
Yes, very famously Linus Torvalds felt that GPLv3 was not in the same spirit as GPLv2. He described it as "a violation of everything version 2 stood for".
About tainting, if I use some source available but not free code in my code is that tainting my code? I used the code against the license and I may have to pay damages,same as GPL you violate it then you may have to pay.
Maybe some companies are afraid the developers will use GPL code, you need to train your developers on what licenses are allowed. It is easy don't use GPL mixed in your code, you can link to LGPL.
My last point is that the terms viral and taint are negative but better words would be protective,freedom and not words created by MS.
If you go to any major conference now, you can't have a beer in peace without someone from one of these super-open companies trying to tell you how super-excited they are to drive innovation as part of a thriving community or whatever other cliche is popular nowadays. In the meantime, though...
Most companies that don't give a shit about community and openness can keep their BSD code tucked away. For most companies that try to make money out of GPL software, not giving a shit about community and openness is usually a bad PR move, so there's a great incentive for pushing as much of what you do as far upstream as possible.
You'd think really bad patches would get rejected (and more often than not I guess they do), but in many cases, the project leader(s) work for the same company as the guys sending the shitty pages, and of course they get integrated, because $company $qualifier Linux $latest_version + 1 needs to ship this June and the feature has already been announced. Whole projects, or at least major modules/sub-project, are effectively a one-company show or an internal playground.
This isn't bad because companies are scary, it's bad because, while the code is out in the open, the agenda and the planning processes aren't, and it fractures the community a lot. It's a good part of how projects like PulseAudio and systemd ended up with a bad name: everyone can agree that they at least offer some useful features (some people would go as far as to say they're "much-needed improvements", but that's far more debatable than whether per-application volume setting is useful), but they were pushed way, way before they were ready for production, and everyone saw this as Red Hat's attempt to enroll everyone into their beta testing program.
In many other cases, commercial involvement in GPL projects is pretty much of no value. They publish the changes because they're required to, but most of the code is so brain-damaged it can't be used upstream, or is just a GPL-licensed interface over a proprietary library, a la nVidia. I'm guilty of having written both types of code, on several occasions, so it's not like I'm really just a BSD user for whom the grapes are too sour.
There's also the fun crowd that's using outdated, unsupported stuff on their rootfs because the project switched to GPLv3 six years ago. They really, really like not having to pay money for 99% of the software on their device, but they really, really REALLY like making sure you can't flash their devices with your own firmware, so they can't do GPLv3. Of course, the old branch no longer gets bugfixes or security updates, so their flashy gadget will fall flat on its head as soon as it's exposed to an Internet, but that's ok, you'll buy a new one next year anyway.
20 years ago I was really, really happy when I heard that some company was licensing something under GPL, or contributing to a GPL project. Nowadays, frankly, I'm more scared than happy. There have been success stories, but they're getting fewer and fewer.
The GPL doesn't "taint" anything. You're complaining about how Free Software supporters argue but you don't seem to understand what those arguments are. You would have the same problem if you mixed proprietary software into you codebase, because copyright "taints" derivative works.
> Can't remember the last time I heard ... complaining about freeloaders.
Why do you feel entitled to free (as in beer) code?
> No entity wants to risk their hard work to become a derivative of a smaller project they pull in.
Yes, including GPL licensed projects. If you don't like the price of distribution license, you can always ask about licensing the code under other terms.
> Which could cause them to look elsewhere
Yes, that's the goal. Using community code is very inexpensive when you accept the GPL's terms, but the low price requires a payment where you are required pay back to the community in a similar way to what you took from the community. This is a protection against freeloading. If you don't want to participate, that's fine, but you get to pay the financial, legal, and social costs of using a proprietary solution.
> the potential reciprocity from a big player
Good luck getting much out of Nintendo. They are famous for their iron first attitude regarding copyright. A current example is their abuse of YouTube's contentID system. While there have been occasional exceptions, it is incredibly naive to expect voluntary altruism - which almost always has some costs and little profit potential - from profit-focused corporations.
It's just such a massive leap of logic. The GPL is in the most restrictive class of open-source licenses for companies, and it is viral by nature. Should those terms be sugar-coated? I didn't read an ounce of contempt in the quoted section.
...there are a lot of people involved with the Linux Foundation, what didn't help in this case is that the one person involved with the Linux Foundation who came up with this piece of Ballmer-era nostalgia is the Linux Foundation's Senior Director of Open Source Consulting.
It's a pretty major PR blunder. It rubs people the wrong way because it basically repeats the anti-Linux arguments which used to be promoted by a lot of companies that were heavily-invested in proprietary software -- some of which are Linux Foundation members today.
The terms aren't exactly innovative. 20 years ago or so they were used liberally (and, I think, coined) by a particularly disliked company from Redmond, and their marketing material (thinly-veiled as whitepapers, sometimes from partner companies) read pretty much like this guy's piece.
This is basically a blast from the past, except 20 years ago we'd see it on Microsoft's website under some Get the Facts stamp, not on the Linux Foundation's website.
I can see your viewpoint. I do remember the anti-linux Microsoft days, and I did not enjoy them as a company back then. However, I do think viral is an apt description of the license, despite the objections in this thread. As I mentioned before I left, I think viral is a good description of GPL. Viral is a feature, not a consequence. If you choose GPL, it's because you want that viral nature. If you're a company, you'll have to weigh that license against your business concerns.
Zealots may say something like "every piece of code should be open source in all circumstances", but pragmatists will realize that some code just doesn't make sense as open source, and making all derivatives of that open source.
So, long story short, someone who is in charge of open source consulting should understand better than anyone else that the GPL isn't appropriate for all companies. If the changed code is patented, GPL isn't appropriate in any circumstance, like it or not.
> I didn't read an ounce of contempt
I disagree. Calling a grant of permissions "restrictive", or calling it "viral" has as much contempt as calling a offering of proprietary licensed software toxic. Its insult flinging, plain and simple.
All I hear when I see people describing copyleft licenses as restrictive or viral is self-entitled whining that people can't do what they want with other people's work.
Edit: To be clear, I think the parent made their point in good faith and this is not meant as an attack on them.
GPL do not add restrictions. It is purely permissions given over what already exist. In theory one could rewrite the GPL license text to be lines of "I grant you permission to do X", and it would still have the same effect.
Whatever the law is for copyrighted but unlicensed code.
"I here grant permission to distribute source code of the unmodified complete work"
"I also grant permission to distribute a binary version together with the corresponding preferred source code of the unmodified complete work"
"I also grant permission to distribute a compilation of a modified version of the source code with the source code of all dynamic linked software that it depends on"
Of course, to match a license like GPL you would need to make precise wording to get the permission to mean exactly one and only exactly one permitted action (lawyers, interpretation and loopholes), but they are just plain permissions. You can use one, two, or ignore any number of them and mix and match. Since they are isolated permission they hold no state and there is no "I agree to all terms".
This is also the main argument behind the concept of software license not being contracts. A contract goes beyond permissions and binds two parties together in one document, while permissions just exist regardless if anyone accepts it.
It is true that sometimes it is not clear when you are satisfying the conditions in the GPL that allow you to use the software, since there is no case law. But the constraints that forbid you to use the code all come from copyright law, not the GPL itself.
If the net effect is to increase the overall freedom that people have for using the project, that is not necessarily more restrictive, other than in a local way. Metaphorically speaking, being able to sell yourself into slavery is not something that increases your freedom, and forbidding it isn't "more restrictive".
If someone is hostile to restrictions on those two groups, then copyleft is undesirable, at the expense of the user, who has fewer guarantees of freedom.
Even the Linux kernel qualifies as toxic proprietary code for the simple reason that GPLv3 is not backwards compatible. If anything the GPL is toxic to any other open source license including itself. Others at least try to play well with each other.
That is not true. Being "GPL compatible" is not the golden rule by which software is considered Free Software; granting the "4 user freedoms" is. Since the GPLv2 grants those freedoms, it is Free Software.
Edit: I am not arguing from an ideological standpoint, just from the resulting compatibility and usability issues. The GPL 2 and 3 were both written to protect the four freedoms, that they are incompatible and that we now have to invest time and effort work around that even for free software is just ugly.
Sr. Director Open Source Consulting Services
And they're posting on the Linux Foundation's site so that's a bit more than just some random person writing an article for the site.
Also the term "viral" comes off as an insult to the licence, I think the term GNU Public Virus used to be a common descriptor.
I think that's why the term Copyleft was introduced.
As for the author, I don't have the full article, but he isn't listed on the 'Board Member', 'Leadership', or 'Technical Advisory Board' sections on the Linux Foundation webpage. Everyone there seems to have pretty damn fancy titles. I have no idea of his actual position in the hierarchy.
Perhaps it's time for the FSF and its ilk to wear 'viral' as a badge of honor, instead of playing the semantics game.
Perhaps with the advent of cloud computing and fast networks the more sticky problems of GPL code in proprietary systems become less of an issue. That said, I've already seen an uptick in AGPL code in some of the fields I'm interested in.
Anyone who expects to copy-paste other people's code into their own code and change the license is just fighting the legal system. You're still going to have to follow the terms of the license, whether that means sharing changes or including attributions.
Moreover, it considers the interactions between the method and other code a derivative of the GPL, even if only the implementation was under GPL but the header/API was provided under a more liberal licence.
Saying the linux foundation is "[n]ot a Friend of Desktop Linux, the GPL, or Openness" because they published a piece that is negative about the GPL is sensationalist and absurd.
There's a legitimate debate to be had about copyleft vs. less restrictive licenses, but articles like this aren't helping matters for GPL - all they do is strengthen the image of copyleft advocates as being extremists who are detached from reality.
It's GPL vs all the other open source licenses. That's the way it's always been, and that's the way it always will be.
Those who think it'll stifle innovation by locking up novelty in proprietary code will chose GPL.
Those who think it'll stifle innovation by holding back adoption in the free market will chose one of the others.
And the two will NEVER meet. This is a religious war, and neither side will concede even an inch.
Meanwhile, the world goes on, people make things and money, and virtually nobody gives a shit about your arguments.
I love the GPLv3 because it ensures user freedom all the way and I think people who claim that is not "open" because of that totally miss the point. It makes sure the software stays open for the users. But of course the big companies who want to close down their stuff, abuse open source to use in in their proprietary stuff they make just for profit maximization (debatable if this even makes a difference)
I see all the red Flags and I am totally with the articles author on this one. I mean Microsoft is part of the Linux foundation and all this huge companies. They are in there to push their agenda and its obviously not freedom and transparency for the user. I think its sad how many people here in the comment section are really fail to see it or intentionally side with this cooperations because they are somehow involved and actually put themselves over the users freedoms.
I wish Richard Stallman would be the same person as Linus Torvalds. I wish Linux would switch over to GPLv3 and a Linux Foundation would be headed by organizations like the EFF, FSF ... not some corrupt cooperations that are up to corrupting this great thing.
I think people should really learn to read between the lines, the signs are clear this is not good. Why would M$ have any interest in Linux or the desktop? Even the companies who use Linux heavy in their servers have actually years of investment into their software for the users that is often still only windows and macOS so why would they want to maintain/rewrite their stuff for Linux desktops? They care about their server farms not about how free their users are.
When big money is involved chances are that its not used for good but rather to gatekeep, protect and maximize.
That shouldn't be a surprise to anyone.
Being a big player in the Linux Foundation it could then make sense if they and others acted against any support of OSS Linux on the desktop.
Could you elaborate on that ?
This process have left FSF without the resources to do anything but create drama inside the open source movement and predictably they have become the PETA of OpenSource concerned more with proving their own purity and commitment then anything else.
But as guardians of the GPL ethos/politics, I'd say they do a good job (considering that this ethos hardly translates to money)
Furthermore, as it is mentioned, one person's article does not automatically determine the foundation's stance, especially if they "quietly removed" it.
Are there FSF snipers waiting around for anyone pointing out that their license is viral and restrictive?
I guess it depends on if you think code, like corporations, should have personhood.
It's distribution that comes with responsibilities as well as rights.
I don't get this analogy.