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?
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.
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.
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.
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!