Some piece of code that also cost time (and possibly someone's else money) to develop, and that they got for free?
Some piece of code that also cost time (and possibly someone's else money) to develop, and that they got for free?
Also note that many of that time, energy and money to modify GPL code is not just programming time, but also a lot of legal advice time. With BSD-like license it should be immediately clear what you can do with the code (i.e. almost everything).
We spent thousands of dollars on legal advice when deploying GPL. In the end it was largely as we expected it to be: No significant action was needed beyond releasing the code to the components that we already got for free, with the minor modifications we had made. But we had to be sure before we committed to using GPL code.
Today, we have a blanket "yes you can" policy for BSD code while GPL is still on a case by case basis.
Yes, that may not hold up in court if it is a tiny non-essential fragment or, if you revert to old code soon, etc. but that’s not the point; if you end up in court, you already lost.
With BSD-licensed code, that risk is way smaller. The worst you have to do is add a few (or quite a few thousand. Go check Setting/General/About/Legal for an example) attribution lines to the versions of your code that use the BSD-licensed code.
(Also, even if you choose to license your code under the GPL, you have to track licensing, as it isn’t legally possible to combine GPL2 and GPLv3 or APGL and GPLv3 licenses or any GPL with ApAchexlicensed code in a single binary. See https://www.gnu.org/licenses/license-list.en.html. If you want to troll GPL aficionados, license your code under GPLv1)
1: A single-bit is not copyrightable. True and false is not copyrightable. No one in history have ever been sued for a single bit. No one has ended up in court for a one-bit GPL code.
2: If it get "outside" accidentally, there is a direct remedy that do not include releasing anything. You stop redistributing the program. Practically all GPL related lawsuits started with the words "please stop infringing my work", and when that did't work, "Judge, please stop them from infringing my work". The only companies that have ever been "forced" to do anything is when the option is between a full stop in production and sale, or releasing source code. One such company chose to not cut revenue, not stop production, and instead gave us the code which the OpenWrt project was created on. I wouldn't call that "forced".
3: Code do not transform from being non-GPL to GPL. That is not how copyright work. Code is only under GPL if you explicitly release a piece of code under GPL. If you put MIT code and gpl code together, the MIT will still be MIT. The combined work must explicitly be under GPL to be compliant, but you can still use the MIT code in isolation under MIT. The MIT code do not transform into different licenses just because you combine it with other code. Only explicit action counts, and the worst thing that can happen from code getting ‘outside’ in untended ways is copyright infringement where you legally have to stop distributing code.
> With BSD-licensed code, that risk is way smaller. The worst you have to do is add a few (or quite a few thousand. Go check Setting/General/About/Legal for an example) attribution lines to the versions of your code that use the BSD-licensed code.
Accidentally copying GPL-licensed code into non-GPL-licensed code puts you in exactly the same legal position as accidentally copying BSD-licensed code without attribution: you are now, technically, violating copyright, and in theory liable for statutory damages of $150,000. You're never forced to release your code under GPL; the GPL copyright holder might insist that you either release your code under GPL or pay the $150,000, but equally the BSD copyright holder might insist that you pay the $150,000 - they're within their rights to do that.
In practice the author will most likely be willing to work with you to sort it out in either case.
> Worse, the source code of all versions from _before_ that checkin automatically become GPL-licensed (because they contain code that, transitively, becomes GPL because it later was linked with GPL-licensed software)
This is simply false.
I would disagree that the situation is the same. The way to remedy the BSD situation is simple attribution. The way to remedy the GPL situation is release of the entire source code.
>> Worse, the source code of all versions from _before_ that checkin automatically become GPL-licensed (because they contain code that, transitively, becomes GPL because it later was linked with GPL-licensed software) >This is simply false.
Is it? If you are forced to release all your source under GPL any new release of that software will contain software released under GPL, even if the GPL specific changes are rolled back.
My interpretation is this: If you have two functions, A() and B() where A() is released under GPL. If you then release software where B() is defined as :
B(): ... A()
You now have a product which is a work derived from GPL code so you must release the source code for B(). Now you release B() under GPL. So you go back to the commit right before including A() and make a new branch with a new commit:
B(): ... C()
BUT! B() is now source code released under GPL so any changes to it must also be released under GPL.
How have I misunderstood?
Years of conversation about this kind of stuff, I don't remember specifically. Looking it up wikipedia says $150,000 is the upper limit for wilful infringement, accidental infringement is lower, but that doesn't affect the argument.
> The way to remedy the BSD situation is simple attribution. The way to remedy the GPL situation is release of the entire source code.
The damages are statutory plus actual damages (almost certainly $0 for someone who doesn't make money off their software directly), not "what you would have done". You have the same options in either case: reach agreement with the person whose copyright you infringed, or go to court and pay the damages. So your worst-case liability is the same either way.
> BUT! B() is now source code released under GPL so any changes to it must also be released under GPL.
As you acknowledged in your reply, you still hold all the copyrights on B and can still release B under any terms you please.
My logic was incorrect. I assumed that the exact same source code for now GPL licensed B from earlier revision revisions would have to be GPL licensed, too (and because of it, anything linked with that, linked with code linked with that, etc.).
However, licensing (unlike copyright) doesn’t work that way. Copyright owners can even release the exact same set of source code 7nder multiple licenses.
My conclusion still stands, though. Companies are right to worry about using GPL-licensed software.
Or if it's GPL v3 you have additional rights, fix it in 60 days etc.
http://www.softwarefreedom.org/resources/2008/compliance-gui... section 5.2
My personal opinion is that it's because the term 'a work' which is used liberally in GPL is a legal term and can potentially be interpreted quite broadly. This means that we have to ensure - every time - that what we do does not constitute 'a work' which derives from GPL code - in the legal sense - if we do not want to distribute the source code that we create.
With BSD we don't have to go through that process because it will not result in us losing control over our own software. We just need to stick a disclaimer in a license file and we're done.
Well, a random developer can't simply assert it - you need lawyers to make sure you really are conforming to the GPL. With BSD, you don't. This is simply the ground reality.
What are you basing this on? Personal experience? Speculation? Other?
>If a company does not follow the GPL and is called out, they can simply do what the GPL tells them to do and the case is done.
Ask Cisco if the lawsuit from the FSF was fictional.
I was involved with the GPL license a few years back when I was consulting on an embedded hardware device product. We wrote to the developer and requested them to re-license the software in exchange for a payment. They refused and we decided to use a differently licensed product in the end, based on legal advice.
>> That is not true.
> What are you basing this on? Personal experience? Speculation? Other?
The FSF and SFLC use litigation as a _last resort_, when the offender does not cooperate to alleviate the breach of the GPL [See below]. The Linux community is also largely against litigation [https://lwn.net/Articles/698452/].
>> If a company does not follow the GPL and is called out, they can simply do what the GPL tells them to do and the case is done.
> Ask Cisco if the lawsuit from the FSF was fictional.
The FSF tried before to work with Cisco to comply with the GPL:
“In the fifteen years we’ve spent enforcing our licenses, we’ve never gone to court before. While litigation is a last resort, we’re prepared to take the legal action necessary to defend users’ freedoms. With SFLC’s help, the FSF is able to take effective action,” said Peter Brown, executive director of FSF.
from http://www.softwarefreedom.org/news/2008/dec/11/cisco-lawsui...
> I was involved with the GPL license a few years back when I was consulting on an embedded hardware device product. We wrote to the developer and requested them to re-license the software in exchange for a payment. They refused and we decided to use a differently licensed product in the end, based on legal advice.
I don't know your situation so I can't comment on it. Maybe your business model depended on your users not having control about the software they use. Because in that case the GPL is a problem.
Incorrect.
> the developer couldn't be swayed by money,
Incorrect. We made the request on the basis of legal advice to avoid licensing trouble. These are real things that happened on a real project. The idea that lawyers are never involved when using GPL'd code is a fantasy.
In any case, the reason the developer refused is because there were multiple contributors on the project, and it would have created a headache for them.
>so now you are bitter about it?
Incorrect.
>Talk about entitlement.
So rude. Wow..
Deploying GPL code is only a legal process if you make it one.
If you're using it to write or deploy other GPL software, it's pretty much a straight forward affair. And if you're not using a GPL license, well, that's your problem: there's nothing stopping you from using the GPL to make all the hassle go away.
That part is often significantly simpler with BSD which is why it's significantly easier to just allow BSD and have a case-by-case basis for GPL.
Well, that's a peculiar desire. If a programmer wants to state "I do not want my code to be used in closed-source proprietary software" there's little more they can do than release under the GPL.
There might be some good faith legal consultancy in seeing how, for example, the CDDL and the GPL interact, but for using GPL code in closed source products, the only excuse really is "What can I get away with?"
The GPL does require some extra work, but it's on the technical side, to make sure you're shipping all the source that you need to ship.
The reason for consulting with a lawyer was to ensure that we didn't do anything wrong which would later require us to open up source code that we didn't want to open up.
To take a example, I often see LGPLv3 in big AAA games. I also see licenses that say "we asked the developer in a email and received special permission". Game studies seems to happy spend legal advice time if it saves them developer time, and from where I stand it seems to be a clear competitive advantage to do so. The only licenses they don't use is those that conflict with their core business model.
Finally MINIX is more popular that Linux! Never mind that it's being used as a backdoor.
You're thanking someone because you relicensed your hard work so they can use it for free (BSD) and you complied?
All for the stated reason that they don't have to relicense their work to other people so they could use it for free?
/facepalm
It's like some version of the Stockholm syndrome, deserves a name.
The freedom debate is unending. Personally I am very skeptical of all forms of economic freedom, as frequently they have the result of pidgeonholing people and their freedom is restricted.
And he formulated this after he had some hard earned experiences with suppliers at MIT.
Why should they? That is up to the software author.
Listen, I understand why that ideology is appealing, particularly if you haven't seen it play out before. How many "successful" open source projects have you seen whinge and struggle and eventually be abandoned and collapse, due to their lack of sustainability? All the while scrambling to offer the most permissive license possible? Even projects that shoulder entire ecosystems!
It's better when the costs and assumptions are above board: better for the project, better for the users.
I'm not familiar with the MINIX project, they've clearly found a way to stay sustainable if they've been around for 17 years. Just that paragraph quoted by OP struck me as very odd as well.
Just pay your dues rather than see your favourite project die. Businesses understand this. "From each according to his ability, to each according to his needs" offers some initial thrill but is not long-term sustainable.
Yes, I do have a problem understanding why people work for free.
I don't see cops working for free, or bankers, or chip designers, or the guy who served my dinner working for free. Even Andrew doesn't work for free.
I can understand licensing software that was built or purchased using [socialist] tax dollars under the GPL for moral reasons, but I don't understand why I have to pay Andrew to help Intel maintain their competitive (size) advantage.
I guess whether people in general "work for free" depends on how you define "work" and "free". I work on many different things purely for their utility to my friends and me personally, or just for the fun of creating something. I work and I gain something from it, so the time spent on it is paid for. Call it hobbies or normal social courtesy, it's still work by any reasonable definition. It's also not free; I expect it to benefit me in some way, whether it's by having a great time doing it or the satisfaction of seeing someone else enjoy the product or helping my friends have a good time.
Then allow me to be clear:
If you want to do something, and you get some kind of psychic reward for it; like volunteering in a soup kitchen, then that's great. But if you're only doing that because you're afraid of going to hell, then someone has convinced you to work for free.
If you make some software, and someone tells you how great it would be if it did different things, and then gets offended when you send them your day-rate, so you do it anyway, then someone has convinced you to work for free.
If you've got a more useful definition of "working for free" then I'm happy to hear it, and entertain it, but understand this kind of anathematic servitude is what I'm pointing to:
I think these guys who go around trying to convince people that releasing "open source" is somehow "more free" and that "freedom is good" is a little bit like we've always been at war with Eastasia. It doesn't make sense to me: In a twisted sort of way, a slaveowner is more free than a non-slaveowner because they don't have obligations (like to work), but it doesn't make this sort of thing right. Being a slaveowner isn't right even if being free is.
> A copy of your software doesn't (necessarily) entail additional work.
The nth copy of my software cost 1/n of my time. One way to consider this is as n gets large, the cost goes to zero, but another way to consider it is as n gets large, the value of my time goes to infinity.
I'm in the latter category, and perhaps this is confusing becauseI contribute to, and release a fair amount of Free Software. However if the only thing that can approach being worth my time is your time, then you'll see why I can't consider any "open source" license for my own software: I don't work for free.
Rather than cite two confused examples of 'work for free', can you please just define 'work'?
Then, perhaps, 'free'.
The reason a lot of people eschew the phrase 'open source' is because it leads to the kind of confusion manifesting in your last paragraph.
Similarly with open source work. It brings a value in forms of contacts and experience.
Then I'd work for the comfort of not believing that I would go to hell. The basis of that belief may be an act of deceit, though, which I am not sure is relevant for open source software. The licenses are clear, and no one is promising anything magically wonderful or terrible to happen depending on my engagement in it. If they do and I bite, maybe I am dumb.
> If you make some software, and someone tells you how great it would be if it did different things, and then gets offended when you send them your day-rate, so you do it anyway, then someone has convinced you to work for free.
No, they have freed themselves from the responsibility of paying me for the work, clearly making it my problem. I then decide myself whether to do it based on what I gain from it. Maybe they convinced me to do it, but whether I'd do it for free is ultimately a matter of how I personally value the work.
> If you've got a more useful definition of "working for free" then I'm happy to hear it, and entertain it
Making an effort to achieve a result without gaining something from it? The only reason I could see myself working for free in this sense is if someone forces me to do it.
> I think these guys who go around trying to convince people that releasing "open source" is somehow "more free" and that "freedom is good" is a little bit like we've always been at war with Eastasia. It doesn't make sense to me: In a twisted sort of way, a slaveowner is more free than a non-slaveowner because they don't have obligations (like to work), but it doesn't make this sort of thing right. Being a slaveowner isn't right even if being free is.
"Open source" is not "more free" in any general sense. It just means that the source is available for free use and distribution. It doesn't necessarily make you more free, nor does it make anyone that is subject to whatever malicious purpose the software might serve more free. It frees the user of the software from a tiny set of specific obligations normally associated with licensing a copyright protected work. Those other things may be important but not at all what the BSD license concerns. Let the Intel-MINIX debacle be a lesson in the total orthogonality of freedom in general and free use of a piece of software.
> The nth copy of my software cost 1/n of my time.
No, it comes at no cost to you if you. Developing the software costs you time. That you reimburse yourself for the time it takes you to develop the software by charging for copies of it is an arbitrary choice, not an inherent relationship between the time spent and the number of copies made. If you were chopping wood, it might be a different matter, but with software, the time is spent on producing it, and selling a copy of piece of software doesn't mean you can't sell it again. The money you receive for a copy of a piece of software is rent.
Tanenbaum makes a great example of this. He is being paid for his work, yet the software is open source. He is not being paid for copies. Another good example is that of a simple employee. I get paid a monthly salary for performing a day job. Like Tanenbaum, I might get much less value out of it than the users of the software (or whoever is selling it) do, but I certainly don't work for free. I get paid for my effort and time, not for copies.
And yet, this is the point that Mr. Tenenbaum has tried to make in TFA:
"this bit of news reaffirms my view that the Berkeley license provides the maximum amount of freedom to potential users"
So let's make a point of disagreeing with him, at least.
But anyway, that BSD is more permissive than GPL is a very obvious point. Why would Mr. Tenenbaum need to write about that? Why would he need some news to "reaffirm" it?
That's strictly speaking, but what does being a user entail, by a commonly understood definition? I certainly can't operate the MINIX derivative running on a different CPU than the software I actually do use. I never made a conscious effort to start or stop it, in fact I didn't know about it until the other day. It is unclear what it does, but it's clear to me that I am not personally using it. Maybe its use benefits me somehow, in the same way a break pedal might benefit me while I'm riding the bus. Maybe it's used for surveillance.
> But anyway, that BSD is more permissive than GPL is a very obvious point. Why would Mr. Tenenbaum need to write about that? Why would he need some news to "reaffirm" it?
Not too keen on sitting here guessing what purpose Tanenbaum's letter had, but maybe to provoke a discussion? Maybe he's sincerely proud that his software is now so widely deployed? It seems beside the points I am making.
But for the GPL, the notion of a user almost always includes you and me. Or at least it would, it this particular case.
So how can one compare the licenses on the amount of "freedom" conveyed to "potential users" if they don't want to use the same meaning of the word "user" as the GPL does? And does purposefully, with the end goal of serving said users.
> You can at best call me a user in the sense that I may be using nginx or apache when I access a website.
Not sure about "at best", but I can. And there are licenses (such as AGPL) that limit what one can do with software accessed over a network as well.
> I certainly can't operate the MINIX derivative running on a different CPU than the software I actually do use. I never made a conscious effort to start or stop it, in fact I didn't know about it until the other day.
You never "start or stop" an operating system, you just push a button. You don't interact with it directly either: you communicate with hardware devices and user-facing software.
Most users don't even know what operating system they are running, they just spend their day in their web browser. And they don't know the difference between the two.
And yet, that doesn't matter to the GPL.
> Maybe he's sincerely proud that his software is now so widely deployed?
Sure, but that was a separate statement. And then: "... this bit of news reaffirms my view...".
> It seems beside the points I am making.
I am discussing the Open Letter, and not your opinion in a vacuum.
I agree that free software would have been the better option, but the fact remains that MINIX is BSD licensed, not what the FSF considers "free software" and I am merely describing what user freedom could possibly mean in terms of the BSD license. Maybe you feel like discussing the merits of different licenses, which leads me to believe that you are confusing this with me somehow sharing an opinion on which is better.
The BSD license doesn't really express the notion of a user. You and I are free to distribute, modify and use the software under the same terms that Intel does. Compared to GPL, there's no fundamentally conflicting idea of what a user is. The difference is in what obligations the licensee has.
> So how can one compare the licenses on the amount of "freedom" conveyed to "potential users" if they don't want to use the same meaning of the word "user" as the GPL does? And does purposefully, with the end goal of serving said users.
Tanenbaum considers Intel to be a user of his software and that they benefit from the freedom granted to them by the license. If you want better information than my take on what exactly he means you should ask him, not me.
Also, you – a potential user – are free to do whatever you want with MINIX.
> Not sure about "at best", but I can. And there are licenses (such as AGPL) that limit what one can do with software accessed over a network as well.
OK, so we agree that you can. For all I care there can be licenses that limit at what times a week I can pick my nose based on the proprietor's notion of what a user is.
> You never "start or stop" an operating system, you just push a button. You don't interact with it directly either: you communicate with hardware devices and user-facing software.
There is a very wide span in which you could place the definition of a "user" if you are willing to reduce the concept to this level of absurdity. Maybe it was a bad idea to bring the subjective notion of a user up at all, since the BSD license is after all very clear on what it permits and under what circumstances.
> I am discussing the Open Letter, and not your opinion in a vacuum.
Explain your point rather than ask me what I think that he means. You can discuss whatever you feel like, of course, but don't expect me to be your soapbox for ranting about how superior GPL is. I don't have the energy to engage in some sort of socratic exchange where you slowly try to pull your point out of me. There is a reasonable interpretation of "free" for which the BSD license may be considered to offer more freedom to users than the GPL. Most importantly, it comes with less obligations. There is also a very reasonable interpretation of "free" for which the tables are reversed. Tanenbaum obviously favors the former.
And yet, despite your inability to understand it, it continues to happen. A lot.
I suspect part of the challenge is your misuse (or just misapplication) of the word 'work'.
I have a problem with Tanenbaum claiming that having Intel ask him to work for free then taking his work to implement a hardware backdoor without giving anything back (not even credit) is somehow a great thing and a proof that BSD is superior to the GPL. And that only because it means that he can say that MINIX is somehow "most widely used operating system in the world on x86 computers", which, I guess, is kind of technically right. Somebody should send him a t-shirt or something.
I license my code with BSD because "I don't care what you do with it", mostly. I won't write a thank you note if some of my code ends up in some closed source product, especially something as shady as Intel's ME. And I definitely wouldn't knowingly do custom work for a company as big as Intel for free.
> [...]your engineering teams contacted me about some secret internal project and asked a large number of technical questions[...].
> [...]your engineers began asking me to make a number of changes[...]
Those are two cases where Intel asked Tanenbaum to work for free. First as consultant and then implementing custom code modifications.
Yes, not many people will charge for answering questions and maybe he thought that the changes requested by the Intel engineers were appropriate and useful for the project itself, but the fact remains that this work was valuable to Intel and required Tanenbaum to spend time on it.
Edit: Formatting
...and create backbox systems with backdoors that no user has the freedom to inspect, change or disable :-)
In practise, seeing ME as a competitive advantage is something that's at least questionable.
I'm surprised how much difficulty some people have in understanding that others might make different licensing choices. If I license software under a BSD/MIT-like license, it's not an accident – it's specifically done so that there are as few restrictions on that software as possible.
Don't get me wrong – the GPL is important and making the choice to license under it is a totally legitimate personal choice with various pros and cons versus a BSD license. But it's not the only rational choice to make, and I wish you'd be a bit more open-minded about that.
Well, maybe only if you think 17 is "several years":
> several years ago when one of your engineering teams contacted me
> we put MINIX 3 out under the Berkeley license in 2000
It makes absolutely no difference whether the "you cost, me profit" corporation was Intel, Nvidia, Acme Inc or all above.
> You're thanking someone because they asked you to relicense your hard work so they can use it for free (BSD) and you complied?
Nowhere in the letter does it imply that the entity being thanked (Intel) is the same entity that motivated the author to change the license.
Intel used open source software according to the license they found it with. The author is pleased his software is powering global infrastructure, and is likely pleased he's contributed to human progress, but is slightly peeved he received no personal thank you as a matter of politeness/etiquette. I'm struggling to understand what criticism you have for this process. No-one has been dicked.
As such wider acceptance is something to celebrate. It might also be a (partial) vindication that an alternative design you absolutely hate and tried to kill is a huge success and is everywhere from supercomputers to cell phones.
That sounds like an argument against open sharing of source code and ideas.