Open Source Licensing
This has been a particular headache for embedded systems manufacturers. If the engineers take advantage of the openness of Linux and make some tweaks to the part that is officially Linux, the company must to distribute their changes too. If they merely create software that works like a regular program, then there's no need to distribute anything. (Notice the ASP in the URL!) I know at least one very sharp businessman who explained to me how he carefully made sure the proprietary code in his system would only be dynamically linked to the GPL-protected code. If he left things statically linked, he would be legally bound to release all of his code and his investors wouldn't allow that.
"You had to work with developers. We had to create a build process that very carefully keeps things separate. If we weren't able to do that, we wouldn't have been acquired," he told me.
Rosen's book is a guide for anyone who's trying to walk that line. It dissects the major (GPL, BSD, Netscape, Apache, etc.) as a lawyer would: this kind of legal writing is always eye opening for me ,because the courts often make decisions differently from programmers. They value abstract issues like damages and pay attention to the often nebulous concept of who "owns" a piece of code. Thanks to the hard work of the lawyers at SCO, the distinctions will continue to be important to everyone experimenting with open source.
There are a surprisingly large number of distinctions, both big and small, between the different licenses. For most of us, the differences don't matter. But it's fascinating to watch a lawyer take them apart and compare and contrast them. The BSD license and the Apache license aren't the same, even though they're close cousins. Who would have known?
This book is a wonderful start on the topic. But by the end, it's clear that it's only just the beginning. There are deep philosophical questions awaiting the movement. The distinction between statically and dynamically linked code was easier to define in the past, long before modern languages like Java and the emergence of the Internet. Are web services specified by a hard-coded WSDL file, an example of dynamic or static linking? Can the DNS service change a static IP address into a dynamic link? Enquiring minds want to know. Rosen's book is a great way to begin the exploration of these topics.
You can purchase Open Source Licensing: Software Freedom and Intellectual Property Law from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Comment removed based on user account deletion
I disagree. Developers, more and more, need to be conscious of licensing, patent, copyright and IP issues. It sucks, because it takes time away from writing code, but I see it getting worse before it gets better.
Did you take your Free Software licensing quiz today?
IANAL is a great acronym, but we need a new one for situations like this. I'm thinking it ought to be IANYL - I am not your lawyer.
Reading a law-talking book can be enough for some things, like getting out of a parking ticket or releasing a very simple piece of software. But it's not a substitute for having your own lawyer.
Just because something's properly GPL'd doesn't mean it's sue-proof, and there's a lot more to litigation than just the substantive law at issue.
John Hancock wuz here.
I know that law is all hard and stuff (why else would we keep using IANAL?) but I would watch out for any hacker turned laywer...
Aren't most hackers just people that are awesome at looking at a system and finding its weaknesses? So what is keeping him from finding a way to do anything he wants. Maybe nothing...
Normally I think we should be wary of lawyers and of hackers, but a hacker turned lawyer... WATCH OUT!
of course, I could just be using a outdated, preconcieved notion to judge someone that is doing good for us all
Like tests? Get paid to take them...
This is completely false. This is not a sig.
<paraphrase>But I'm more than a little frustrated that a book like $foo For Dummies is necessary. It speaks volumes about the current state of computing. The reason computers are complex is that big corporations who have no interest in their users' needs and programmers are too lazy and inconsiderate to create simple, flexible interfaces that Aunt Tillie can pick up in five seconds flat.</paraphrase>
Seriously, exactly how does the fact that non-lawyers need a book on the application of the law to open source issues lead to the conclusion that the law is unnecessarily complex? By the same reasoning, physics is unnecessarily complex because you need an engineering degree to get a good understanding of how Newton's laws govern the behaviour of real-world systems.
Law is like mathematics: you have a set of basic principles that are fairly simple on their own, but which need to be developed into quite complex structures in order to be useful in a large number of situations. In this example, the basic principle is: the person who creates the code has the right to say how it's used. The complexity comes simply from the fact that lots of people are involved and the law gives them all a say in how their work should be used.
Simplicity is a fine thing, but over-simplification should be considered harmful.
With the way things are going in the lawsuit department lately, it seems this is kinda needed. Tho it has always been hard to explain to the buisiness world the concept of gpl style license agreements.
Tho, i do disagree 100% with the idea that developers do not need to be concerned with the legal side of this argument (from above posts), more and more do we find ourselves as developers in the spotlight when something is not 100% up to snuff. More knowledge isnt really a bad thing.
Well, with IT jobs cut or outsourced to India, and legal battles about 'intellectual property' (damn, that phrase annoys me more and more) on the rise, that sounds like a solid career move. If you're in it for the money, that is.
Can of worms? The can is open... the worms are everywhere.
Law is man made and is arbitrarily complex. It could be simple, but for some reason, even though it is defined by man, it isn't. On the other hand, physics is defined by observable natural phenomenon. There is no known way to make it simpler. There's a huge difference.
Slashdot is proof that Sturgeon's Law applies to mankind.
Garbage.
Your analysis is completely bogus for one very simple reason: neither physics nor mathematics are wholly under human control. Those are observations. The law is artificial from square one. It doesn't need to be complex. Tax law? Institute a flat tax. Copyright law? Redefine intellectual property in a more reasonable manner.
"You have a set of basic principles that are fairly simple on their own, but which need to be developed into quite complex structures in order to be useful in a large number of situations"
Wrong, wrong, wrong. Complex structures are specifically created to apply a basic principle in a special way. Principles that are useful in large numbers of situations are necessarily BROAD and SIMPLE principles.
"Seriously, exactly how does the fact that non-lawyers need a book on the application of the law to open source issues lead to the conclusion that the law is unnecessarily complex?
Because the law is something we should all be able to understand, because we all must abide by it. I may not understand all the nuances of gravitic formulae, but insofar as they affect me they are quite simple to understand. Programmers shouldn't need to have an advanced degree in law (or a book like this) to earn their living programming. If the law as it applies to them requires two PhDs and a night class, then it is too complicated. Period.
Yes, same goes for tax codes and any other law you want to come up with. The system is broken and the lawyers are cashing in. I shouldn't need the approval of the Bar Association to have a valid opinion about the way the government should and shouldn't interfere in my life.
While they were obviously fairly ignorant, it is nice that they thought to ask your permission. I'm a GPL-nut myself (everything I write, essentially, gets released under the GPL) but I have noticed that lots of BSD folks get upset when their code is relicensed by other free software projects. They'll always agree to it, if you ask (at least, they have in my experience, and anyway, they can't really say no, legally) but it's still the polite thing to do.
At the very least, it'll make the dev happy that someone out there thinks his code is worth copying.
PS. I think the reason that BSD types get upset over free software relicensing (rather than proprietary relicensing) is because they are "competing" as it were in the free software sphere. When someone takes BSD code proprietary, they're taking it out of the pool. The BSD dev doesn't know what happens to it after that and so it's hard to worry about it. Contrast this to a GPLification, where the GPL'd version might (for one reason or another) get more mindshare than the BSD version and eclipse the original, with valuable bugfixes and improvements in plain sight of the original dev and yet completely out of reach for legal reasons. That having been said, when I use BSD code, any changes I make to that code (in the form of bugfixes or whatever) I'll be happy to provide under the BSD to devs that would like them. But unfortunately many GPL-types aren't so nice.
I know at least one very sharp businessman who explained to me how he carefully made sure the proprietary code in his system would only be dynamically linked to the GPL-protected code. If he left things statically linked, he would be legally bound to release all of his code and his investors wouldn't allow that.
Hmmm, according to my reading of the GPL FAQ, even dynamically linking creates a derivative work, and thus all of the code would need to be under the GPL. No?
"For most open source software users, there are few things as easy to understand or follow as an open source license.
/..
When I read this, I laughed so hard I nearly fell out of my chair. Just consider, if you will, how many completely misguided and contradictory views of the GPL you've seen/heard recently, even right here on
Most open source users have no friggin' clue what the exact rights and restrictions are under the GPL or other popular OSI-listed licences (the BSD/MIT variants being a possible exception, since they contain almost no restrictions to begin with). That doesn't keep them from having an opinion and loudly expressing it, of course...
They have every right to be upset. The BSD license, like most software licenses, does not allow for relicensing. You must ask the legal owner of the copyright(s) on the software if you can change the terms under which it is distributed.
They aren't taking it out of the pool. The original, unmodified code is still in the pool for anybody to use as they see fit. Rather than taking something out of the pool, these people are merely failing to put more water into the pool.
That is certainly the right of anybody making changes to a BSD license code base. They have every right to ADD the GPL restrictions to their works (but the original BSD license must remain). It is somewhat rude, and ill mannered, however, to make such a change. The folks that wrote the BSD license code wanted to offer maximum flexibility to the licensee. This even includes the flexibiltiy to contaminate with GPL'd code. These contamination can cause a lot of problems because it can sometimes be hard to know that patches posted somewhere to BSD licensed code contain these GPL contaminations. This is a bad thing about both licenses, btw.
Again to reiterate: only the copyright holder can change the license on his/her copyrighted works. In general, derived works can only have additional licenses added (all of which must be obeyed).
Rosen disagrees with FSF on many points -- specifically, whether dynamically linking creates a derivative work. And since FSF's lawyer is a law professor and Rosen is a two-bit hack, you should think twice about listening to Rosen. Incidentally, MySQL's lawyers also disagree with Rosen -- and have gone to court to defend the GPL.
It shouldn't take an 8 year degree to understand your rights. Throwing latin and difficult wording into the mix is not conducive to self-defense. I'll quote a post I saw on here a long time ago that I saved because it was a really good rant:
What kind of judicial system allows laws and documentation that require advanced degrees to even understand? If ignorance of the law is no excuse, shouldn't law have to be written in understandable language. And don't give me any bullshit about $10 words being required in order to make the law more specific, 'cause that is complete bunk. I've seen enought technical documentation to know that it is possible to be clear, conscise and understandable all at the same time. All the bullshit rhetoric in patent applications and on the lawbooks are there simply to confuse the masses and make them hire lawyers.
Why can't we elect some judges that will let people off because the law isn't in English (or other native language as it may apply) instead of some twisted, latinesque, lawyerese? For instance, this judge should simply rule that noone can infringe on this patent, because an average person would need weeks to understand what the fuck it means.
The deal is that they should try harder to make the law more understandable. Law effects everyone, no matter what. You could make it through life not understanding calculus, but you'd be hard pressed to make it through without needing the law at some point. Having a 'law' is fine. Having 'laws' that are derived from others is fine. Where I draw the line is where you have a condition where you stand no chance of understanding the entirety of personal limitations without a degree, or at least years of personal study. Make it more accessable is all I'm saying.
Slashdot is proof that Sturgeon's Law applies to mankind.
This book violates the GPL. If anyone who has a copy or has read the book, I suggest carefully reviewing his discussion of the GPL. He is referencing paragraphs of the GPL that are not in the appended version of the GPL. This violates the GPL.
Mathematics is a pure science as we define "1 + 1 = 2" and say it is so.
That is absolutely not what "science" means. Anything scientific must have basis in observations of something pre-existing. If it's all just constructs of your definitions, then it isn't science at all... but math.
Physics is Mathematics
No. Physics is a subset of science. But neither math nor science is a subset of the other.
The MIT License
Copyright (c) [year] [copyright holders]
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
And since you can trivially create a "derivate" (look mom, I added whitespace)...
A common misconception. You must make a significant change to the original before it is a derivative work. You must ADD value to it. This cannot be done trivially. Adding whitespace is insufficient. On the other hand, merely compiling the source into a binary probably is sufficient, as it counts as translation.
In any case, if all you've done is add whitespace, then all I need to do is remove that whitespace and file off your GPL, because ONLY that whitespace is under the dual license. Everything else is still under the BSD license because everything else is still original.
Don't blame me, I didn't vote for either of them!
That said, GPL on a library indicates that the authors of the library don't want commercial developers to use it. While they probably have no legal right to demand it, they can still cost you a lot in court costs if they decide to sue, and more importantly, can still hurt your corporate image publicly if they decide to scream about it on slashdot.
My personal opinion (and I'm betting I get modded down for expressing it) is that anyone using the GPL for libraries should have his/her head examined. Technically, I can't write a BSD-licensed piece of code and use a GPLed library. That's a bad thing(TM). In essence, they are limiting the library's usefulness to only those who agree with their philosophy. The GPL, when used for libraries, is free in much the same way that Communist China is free. If you agree with their philosophy, you get a lot of freedom. If not, consider yourself dead. As an open source developer, I regard the GPL (in a library context) as not just viral, but actually bordering on abusive.
The LGPL is the right level of restriction for a library. There's no excuse for someone putting a library under the GPL and leading to class warfare between the Stallmanites and the BSDites. Fighting amongst ourselves about which philosphy is better only leads to the continued perception by mainstream media that the Free Software folks are a bunch of nuts.
Support the LGPL.
Check out my sci-fi/humor trilogy at PatriotsBooks.
BSD is an open source license. You can't legally link to a GPL library from a BSD application. That's not an economic problem. That's being a fascist. That's why there has been tons of wasted effort put into things like rewriting getopt_long for FreeBSD. It's a waste of manpower and a waste of time that could be spent writing software that actually provides benefits to the open source community, but because a few people are such blind zealots that they can't stand the very existence of other open source models, everyone suffers, -including- the propoents of Free Software.
Linking against a GPL library doesn't deny anyone any rights. The software is still open source. No company in their right minds is going to decide to give away source code for their software for the privilege of linking against a GPL library. They have the resources to write their own, and do so regularly.
Thus, for libraries, all the GPL does (beyond the LGPL) is make other open source communities with different ideologies have to reinvent the wheel repeatedly for every single new piece of GPL technology that comes out. While that may be consistent with the letter of the GPL, I'm not convinced it is consistent with the spirit behind it. For libraries, the spirit of the GPL is embodied by the LGPL.
Check out my sci-fi/humor trilogy at PatriotsBooks.