MIT licence vs. GPL
pacman
Posts: 327
If I take some GPL code (a C implementation of a protocol) and compile it as an object for use in a propeller project is that allowed?
My understanding is that GPL licence would preclude the MIT licence, but I am not a lawyer (nor do I want to be one) and don't understand the complexities.. And yes I have read the FAQ.
I'm not planning on locking away any code so can the two pieces (the master program and the object) exist side-by-side with different licences?
Could the master code be on the OBEX as MIT, but the object be hosted elsewhere as GPL?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
=================
The future is in our hands.
Which way to the future?
=================
Post Edited (pacman) : 12/14/2009 4:41:18 AM GMT
My understanding is that GPL licence would preclude the MIT licence, but I am not a lawyer (nor do I want to be one) and don't understand the complexities.. And yes I have read the FAQ.
I'm not planning on locking away any code so can the two pieces (the master program and the object) exist side-by-side with different licences?
Could the master code be on the OBEX as MIT, but the object be hosted elsewhere as GPL?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
=================
The future is in our hands.
Which way to the future?
=================
Post Edited (pacman) : 12/14/2009 4:41:18 AM GMT
Comments
-Phil
The MIT license is compatible with the GPL license. If you used some GPL and some MIT code in your project you would be required to give the source to the project in its entirety to any person you supplied a device containing that code to. Optionally you could make it available to everybody, but you don't have to. You can't prevent someone you've given the code to from giving it away however.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you always do what you always did, you always get what you always got.
That's the main reason I avoid GPL, when possible...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm
Rayman, I was contacted by a German company who used my GPL 3D Stereo Lithography file viewer code in their commercial product. A developer there just went and pulled stuff down from the net and ran with it!! They were concerned about that, and rightfully so. What I did for them was issue them a license that allowed closed use, provided patches and improvements were returned to me, so the pool of code and it's users would improve. That was the original reason for the GPL, that and I wanted to give something back to the excellent pool of always known open code.
That worked out just fine, with me seeing several nice patches over the years.
Really, if people bump into something GPL, they need to consider that before incorporating it into their own works. That part is well known. What isn't so well known, and I think should be, is the fact that one can just ask about alternative arrangements too! It's nothing for a rights holder to issue another license. Well, maybe nothing. Depends on the scenario as to whether or not legal needs to be a part of the picture. I used the FSF to consult. They were not pleased about that kind of license, for ideological reasons, but for practical ones, they told me what to do, and it was not difficult.
In their case, I simply said make sure my name ends up on the box, and we are good. So, lesson there is, ask early and ask often, and it's highly likely 'ye shall receive!
The other lesson here is that if one does author GPL code, it's wise to keep contact info out there, or assign it to an organization, such as the FSF, so that contacts can be made and the disposition of works known without risk. IMHO, it's rude to not be available, given the need to sort out licenses is a fact of life.
Finally, if there is no contact info, and you cannot find where it was assigned to either a more friendly license, or the governing organization, avoid it if you need your work product to be closed. Risk is too high in that scenario.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Wiki: Share the coolness!
Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
Safety Tip: Life is as good as YOU think it is!
Post Edited (potatohead) : 12/14/2009 4:14:37 PM GMT
-- David Carrier
Thanks for a nice summary of the GPL and LGPL, and of the reasons they exist - and also a concise explanation of why they are not intrinsically 'anti-commercial' in nature - which is the way they are often portrayed.
A lot of people complain about the GPL without understanding why it exists in the first place (your case is a good example of why!), and also without realizing that the same software can always be dual-licensed at the discretion of the author (again, your case is a good example).
By the way - dual licensing can also get a bad rap - from die-hard GPL-fanatics!. As many people tend to say these days (although I'm never sure it really makes sense) - if you're getting flack from both ends of the spectrum, it usually means you've got the balance about right.
A small point - I don't think the LGPL requires YOU to make source code is available for any LGPL components you use - I think that responsibility still falls to the creator of the LGPL components (but of course it would make sense for you to do so for the sake of your own product).
Ross.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina
That is prolly a good measure of how to choose a license. If you intend to be involved in the future of the code then providing this info is no problem, particularly for a company, and the GPL becomes a good choice. But if you are just throwing the code out in the pool of public domain and aren't particularly interested in what happens to it then the MIT License would be the better choice.
As for the OBEX, you'll have to write your own version of what you've found GPL'd. Actually, you have to do that anyway if you are converting it to Spin.
I always thought spin could call objects written in another language. I must have been mistaken.
{note to self} re-read prop manual again...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
=================
The future is in our hands.
Which way to the future?
=================
To get around this issue, a number of projects with LGPL'd code have added in an extra licensing condition stating that static linking falls under the same rules as dynamically loaded libraries. This means that you only have to release the source code for the library, not your entire application.
This is one of the reasons why I decided to just MIT license all my code. If the Propeller Toolchain supported relocatable object code / linking then LGPL would be a nice fit since all you would have to do would be to distribute the object code for your application, effectively protecting your source code while also letting users link it to libraries of their choice.
You are corrrect - the LGPL and GPL would be equivalent for SPIN/PASM programs since proprietary software cannot be released in a form that is dynamically linkable with LGPL components - at least not without releasing the source code to your proprietary software!
But they are not equivalent for Catalina, even though Catalina uses a dynamically linkable form which is essentially just PASM. Catalina links at the PASM level precisely to get around the problem you point out - i.e. the lack of a relocatable object format on the Propeller. But the proprietary version of the software you are trying to protect is presumably embodied in the C version of the software - and you can therefore release the compiled PASM version and allow your customers to use the Catalina binder (Catalina's PASM-level equivalent to a linker) to combine that program with LGPL'd components.
I have not seen any instances of the exclusion you mention to allow 'static' linking with LGPL components, but it seems a bit strange to make such an exception. If customers can't re-link then they can't take advantage of improved versions of the LGPL components - so such a license seems to degenerate into a simple MIT-type license - i.e. all you are really doing is asking the developers of proprietary software to acknowledge the source of the LGPL'd components they used. No-one can even check that they haven't modified the LGPL'd components.
Ross.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina
No, you are requiring that all modifications are properly fed back. People seem pretty good at picking apart binaries to verify violations when they are suspected. Improvements in code and components tend to be fairly easy to spot from the outside if you are familiar with the original code.
The FreePascal and Lazarus projects both use LGPL with the binary link exception in their run time library code.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you always do what you always did, you always get what you always got.
Ok - good point, although I'm not sure you'd spot violations all that easily.
You know, it occurs to me that someone could write a tool that scans software binaries looking just for such GPL and LGPL violations. That wouldn't be much harder than the type of virus scanner that looks for code signatures known to represent malicious software - i.e. you could register your L/GPL'd software with a body who could either routinely scan all proprietary software, or periodically issue a 'signature' file that would allow others to do the same. They could even offer this a service - i.e. an approval that basically means the proprietary software is 'certified L/GPL compliant' - and then make money out of taking a percentage of the compensation extracted from any L/GPL voilations discovered (and I'll bet they would find a surprising number in some well known products!).
We could generate a whole new industry here!
Ross.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina
David
(another thread there)
Don't confuse this with patents. Patents are absolutely toxic to software. Whole means and methods end up being denied to people, even if they write original code. Consider regular political support to either reform these, or eliminate them entirely. Copyright is the foundation for that, not patents, as the implications of regulation with the two are very, very different.
It's worth a bit of discussion on use and derivatives as well. It is well known that it is impractical to prevent some uses from occurring. These are fair uses, and include quotation, critical works, and perhaps just loaning a work you purchased to a friend. Technically that's distribution, but it's deemed fair. Why it's fair is a whole other thread. Just know that is is, largely because it's not practical to enforce, and the rights holder suffers no harm from the infringement act that is fair.
"Fair use" is not codified in law, and exists only through precedent, and many consider that a risky omission, myself included.
With creative works that are to be consumed or performed, there is fair use. Interestingly, this concept seems to be largely absent in software, with use occurring with a single line of code. IMHO, there is significant risk here, which is why some people avoid even looking at open code. This is, of course, silly, but a reality, sadly.
With computer code, this comes down to distribution, which is the case whereby an unauthorized copy ends up made and in the hands of somebody without permission. Handing a CD to your friend is distribution. Posting code on the net is distribution, and shipping your project code is distribution.
Copies are just that, copies. There is considerable legal angst about "fair" copies in this context, which gets back to the silly part. To execute code, it is copied. Consider the Propeller MOV instruction!
Does it move anything? No. It makes a copy, which is what computers just do. If they didn't do this, we would find them rather useless. I follow these cases with great interest to see where "fair" will end up. If the media companies have their say, there will be no fair, and every bit copied would be done with authorization. Ugh... On the other hand, a growing body of case law is calling this fair. So far so good there.
It is this property of computers that puts even executing a program under copyright, as a copy is made, and often distributed to be "used"in the sense most of us think about using.
Derivatives are of keen interest to us here, and that is where a work is composed of parts of other works. Truth is, that always happens as we all must build from some common works, or we have no basis for communication. Talking to an alien would be like an original work. This is why the public domain is important, and why I stated above that terms are probably too long, and why that limits things.
One thing about copy -vs- original and derivative works, and why patents are toxic. Say I learn how to code something from some example on the net. I then later apply the techniques to my problem, writing original code. A patent would deny me this, and as code is really instructions on how to do things, or can be considered math, this is a very, very bad slope as people simply cannot do things with computers, where patents exist, without some license.
eg: x := x + (x > 5) if x is < 5, 0 will be added, if > 5, then the value of true will be added. Code and math right there.
In copyright land, learning how to do something is ok. Cutting and pasting that code into your own, is a copy, and that project becomes a derivative. Learning a technique, then authoring your own code to solve a problem does not make a derivative from a copyright perspective, as that's "in your own words", but does from a patent perspective.
That's the ugly part, and also useful to sort out whether or not you are actually making something original, just FYI.
Moving on...
The beauty of the OBEX and the MIT license is simply that people do not have to worry about derivatives, where works found there are embodied in their own, nor do they worry about distribution. It's a pool of stuff that is a lot like the public domain, but where the ownership isn't public, but is retained by the contributor. As users of the Propeller, this pool of code adds a lot of value to the Propeller.
Public Domain works are intended to be consumed, mixed, mashed and end up new copyrighted works. Licensed works may be intended this way, but it's clear the author is maintaining an interest. That's the difference. With the MIT, we know who did what, and who owns what, and that's cool. With the PD, that can be erased, just leaving code, though it's very bad form to do so.
One final thing to know. All works, at least in the US, are copyrighted at the moment of creation, and from that time on, require a license to use, distribute, copy. The product of that is essentially ALL computer software, other than the software we personally author, operates under a license. You, yourself operate with your own code under an intrinsic license, in that you grant de-facto permission to use your work products.
Oh Smile... That brings up "works for hire", where you produce something for compensation. You don't really own those, others do. Watch for this, and consider carefully what "work for hire" means in terms of your work output. Poorly written contracts can make broad claims to your works causing trouble... Better to author solutions, then sell those than do works for hire as the boundaries between personal "inventions" and work "inventions" can be really murky. It is completely possible to end up paying somebody to use your code in this scenario, even when that was not the intent. Good works and money do funny things to people. Just know this and read what you sign.
Finally, for any project that will end up outside your own private environment, it is important that you document where you derived your entitlement to code you are using, period. Copyright requires this, and is why licenses exist. It is good form to do this, so others can be clear too. The wiki has some info on that http:\\propeller.wikispaces.com
If I mangled that, sorry...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Wiki: Share the coolness!
Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
Safety Tip: Life is as good as YOU think it is!
Post Edited (potatohead) : 12/16/2009 7:45:18 AM GMT
Lesson there is to record enough to meet your burden in the future, and as an author, it's good form to give people enough to meet that burden so life is as easy as it can be.
A subsequent release can be licensed differently however.
I didn't know where to fit that into the above, but it seemed like something that should be on this thread, just in case.
Edit: My intent with these posts was not to advise. Really, it's important to know what is what, and I think they do that. If I've hosed it, then the discussion to follow will do that, and we all learn something. (cool) A simple understanding of these basic ideas (some consider not so basic) is just useful, if you are to deal with code at any level, that's all. Hope that makes good sense.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Wiki: Share the coolness!
Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
Safety Tip: Life is as good as YOU think it is!
Post Edited (potatohead) : 12/16/2009 7:58:20 AM GMT
By that logic, Roy, I hope you are also not reading any books. You may one day find yourself sitting down and writing a smash hit novel, so better not to fill your mind with phrases you may accidentally put into it. Is it so that an author should not read the works of his peers? Absurd. Engineers should not learn from each other !
By the same argument be sure you are not watching any films or listening to any music.
I think that allowing copyright protection on binary blobs is all wrong anyway. Copyright is intended to give protection, for a limited time, to an author for publishing a work. With the intention of encouraging creators.
My contention is that putting out a binary blob, some executable code say, is not actually publishing at all. Certainly it is not published in anyway that I can sensibly read it.
Further, if the creator of said code is enjoying the protection of copyright they should have no problem delivering the source code as well. We out here are not allowed to just copy it, due to the copyright protection it has, so why not? After all that's the regime the authors of books operate under.
Further, I think it should be required that if you want the luxury copyright protection for your binary blobs it should be required that you do actually publish the source.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
I wrote what I did on derivatives to emphasize that "looking" at GPL code is no different than "looking" at MIT code. The material elements that define a derivative do not change. Agreed Heater, on all counts. That "don't look at it", imho is either ignorant legal (and that's not a joke) that is risk adverse to a fault, confusion between copyright and patent, or attempts to establish a poor norm for whatever reason.
Now comes the interesting one! No copyright on blobs. (I think binary is part of the definition of "blob" in computer land. making binary blob redundant, imho)
If I take sheet music, parse it, stroke piano keys, and digitize the recording, I have a blob.
A photo taken with my digital camera is a blob.
Compile code and get a blob.
I zip archive numerous things and obtain a blob.
If I choose to write some really bizzare non 7 bit clean language, and author a work, that's technically a blob, from the perspective of one that does not know the language.
An encryption or simple data compression results in blobs.
A Compact Disc is a blob, derived from master tapes, derived from the works of musicians, who were inspired by other musicians, in the way that a coder looked at a great program and was inspired to write their own. There is that "what is a derivative?" bit again, nicely framed.
It's my opinion that the nature of copyright, being attached to blobs, is not the problem. It's the length of the term being too long, and the sometimes bizzare legal conclusions we reach, out of ignorance more than anything else that is the problem. This is why, for example, I emphasized the word infringement for the unauthorized duplication or use of a work in the other thread.
If there is no copyright for a blob, one cannot license a blob as the license derives it's authority from the idea of ownership and that runs through copyright. In that scenario, one then must then resort to other means to regulate use of the blob, or simply render them public, which is absolutely not gonna happen, for the cases I highlighted above.
On that note, we have exactly 4 means to regulate uses: money, physics, norms, law. That's it. It is extremely useful to keep those in mind when considering these things.
An example of each:
Money can impact the acquisition of the blob. Norms means social pressure to be ethical and honorable would impact the duplication and use of the blob. Physics would be making the blob difficult to use, distribute or duplicate. Law is the remedy for cases where unauthorized uses and or duplication, or distribution have occured.
On that last point, it's worth noting that law works just like security does. There is risk reward only, no absolutes in law. A strong law doesn't actually prevent anything, it just makes it unfavorable.
Good regulation that actually works, usually embodies all four of those things, just FYI.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Wiki: Share the coolness!
Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
Safety Tip: Life is as good as YOU think it is!
Post Edited (potatohead) : 12/16/2009 4:44:25 PM GMT
If one does 'accidentally' use something which is covered by a license and not in accordance with that license one can indeed be sued for that infringement and that infringement may be punished and ordered rectified, the original author's rights enforced. That's true of any restrictive license, GPL or any other.
A commercially intended development can be absolutely ruined by 'inadvertently' including GPL code so many commercial companies will dictate that GPL'd code is never viewed to at least give them the defence that there was no knowable infringement. Some companies make it a sackable offence to let GPL'd code into their development environment.
The only safe course is to use others' code in accordance with their licensing or to develop code oneself from first principles ( that doesn't always protect oneself though ). The only code you can take and use however you want with no risk of blow-back is that covered by a non-restrictive licence, Public Domain, MIT etc.
That's why I personally favour MIT et al over any restrictive licensing such as GPL or others. Code which is intended for learning and building upon should IMO be released with non-restrictive licensing. Otherwise one is limiting the extent to which that code can be built upon or used.
If releasing code under a restrictive license one isn't saying, "take this code, learn from it, derive from it, and fare thee well", but saying, "learn from it, and derive from it, but only if willing to comply with my licensing". That's no longer about providing a free and usable resource, but a resource only to those who accept your personal view of how licensing should be.
Post Edited (hippy) : 12/16/2009 5:05:35 PM GMT
I was not really saying there should be no copyright protection for executables. The idea is that if you want copyright for your executable you should have to publish the source. Don't forget back in the early days it was not clear that executables were copyrightable.
Why do I say this?
1) If copyright on the blob satisfies your need to be protected from other people profiting by copying it then copyright on the source does the same. No one is a allowed to derive a work from it, i.e. compile it to run, without your license.
2) Having the source published satisfies the spirit of copyright: "To promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries."
A binary blob does not "promote the Progress of Science", the source might.
3) The other end of the copyright bargain is that in return for the protection it offers the authors, the work will eventually enter the public domain. Well great, long after I'm dead I get a totally useless blob. In this copyright contract between society and authors society has been ripped off.
Now these are all new thoughts to me, I'm pleased to find others have mulled this over already, like this article: www.freesoftwaremagazine.com/columns/what_if_copyright_didnt_apply_binary_executables
However in that article he makes the wrong assertion that if there were no copyright on executables then software authors would have no protection at all. Missing the point that copyrighting the source would indeed protect them.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
1.) We know full well that it doesn't. Before the cryptographic protection that most software now uses to prevent unlicensed use there was quite frequent use of copied software without license and we know good and well that it was near impossible to police that. I don't appreciate it much but I do understand why it's there. I believe it would be foolish to leave my front door open and document the location of all the most important items in my home and then rely on the legal protection from burglary to chase after those that stole. I would use a combination of all the protections I could.
2.) I don't believe that the progress of science and useful arts meant direct access of everyone to the full, detailed, documentation of the work of others. The advancement promoted by this system was the profit motive of being able to make money from bringing new technology to the market and knowing that your effort would be worthwhile with protection from direct copies for some period of time.
3.) I agree. It has been twisted into a perpetual source of revenue and protected for so long that by the time it's public things have advanced to the point of it's near irrelevance. I believe that has less impact in media and entertainment but a major impact in technology arts areas. "Process" patents are actually more detrimental to advancement in my opinion. It actually serves to stifle new development as people who produce nothing other than paper sue those that actually invent and market new products.
I know these many discussions and arguments over the exact effects and meaning of the various GPL licenses are exactly why people shy away. It's not the boogy man that many people make it out to be but it does take time and consideration to figure out just how it affects you. That's not terribly different from other licensing schemes though.
Post Edited (photomankc) : 12/16/2009 5:46:55 PM GMT
That's my job. For my hobbies and fun, I prefer to not force people into a restrictive license when they use source code I release, and you have to admit that GPL is indeed the most restrictive of the "open source" licenses.
I just don't feel the need to protect my source code like that. I really truly don't care if someone took the source code and used it in a closed commercial project. More power to them.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Check out the Propeller Wiki·and contribute if you can.
1) When I was referring to "protection" under copyright I was meaning in the legal sense rather than actually physically. Protection under the law. Rather like the law says people should nut mug me on the way home. Does not mean that it does not happen. All this cryptographic protection and activation business is is there to fix the practical problem of protection rather like an Americans right to carry a gun to ward off aggressors.
2) I guess we have a different interpretation of "progress of science and useful arts". I've always taken it the academic sense of sharing new discoveries and innovations. For example, James Watt invents the steam engine, him telling the world about it advances science and the useful arts. However James gets no benefit if we all make our own steam engines. So the social contract is made: You tell us about your great idea, James, and we will give you a monopoly on it's exploitation for some time. Copyright and Patents have a similar contract that way.
Still, now I wonder what the original users of that expression had in mind.
3) "twisted into a perpetual source of revenue" Yes, apparently we can blame Mick Mouse for that. When Disney and the American entertainment industry realized they had run out of money making products they lobbied to maintain their perpetual income from the old junk of their forefathers.
Now, all that cryptographic protection and activation business on executables pretty much denies society access to those works when, eventually, the copyright expires. THis directly breaks the social contract of copyright.
I was also thinking about the argument for copyright of binary blobs from cameras etc. Some how I think they are in a different class. There is no "source code" for them. More seriously it is expected that they are viewable with commonly available players from commonly know standard file formats. Problem with say executables for Windows is that the player itself, Windows, is itself subject to restrictions.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
No qualms with not wanting to use the GPL. But consider this:
1) You have a brilliant idea for a very widely useful solution to a problem.
2) You spend some years developing code to implement that.
3) You release it under some BSD style licence because you want the world to benifit from that with out restriction.
Or so you think...
4) Along comes a large publisher of software, takes your code, tweaks in in ways to maybe make it better, maybe incompatible with your original.
5) They offer their version for sale, or free, in binary only.
6) Everyone and his dog ends up using because it works better with the publishers OS or whatever reason.
Result: Your code ends up being marginalized and useless. Far from being the gift to the world that you hoped it ends up being a gift to that large publisher.
Maybe that's a long, tortuous and unlikely chain of events but that is what the GPL is there for. To be sure that your code remains open and useful whatever happens in the future.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
To give another extreme case on licensing - Say I discover a universal cure for everything from a common cold through cancer yet realise it will cost trillions to turn it into reality of a product. If I release the cure under a license which says anyone developing it must not profit from it is any pharmaceutical or anyone else altruistic enough to develop it ?
Is it better to have the cure well know yet everybody still dying from preventable disease or to have released with an alternative license which accepts commercialisation ?
If I release under a completely non-restrictive license the pharmaceuticals are able to profit from it, anyone else can, and anyone who wants to be able to give the cure away for free can do so if they find a way to produce the cure.
I'm not arguing for commercialisation per se, just pointing out that restrictive licensing is not always an automatically positive thing.
Another way to look at it - Being penniless but seeing a certainty bet, do I come to a deal with someone who has money so I can gain a share of the winnings, do I share that knowledge with everyone on the condition they cannot keep the profit they make, or should I let everyone do whatever they want with their winnings ? Which has most benefit ?
Make no mistake on the derivative bit though. Unless you make a contrived effort to directly copy paste, or operate line for line, or some other thing, it's not a derivative work period.
Looking at a body of GPL code will absolutely not pollute whatever closed project is at hand. That is pure fantasy, always has been, always will be. Let's just be clear about that, then recognize that some of us have to operate within the boundaries of the authorities that write the check.
Where that matter is concerned, the real fear is patents where ALL derivatives are infringing, and that's not cool at all. Again, I oppose those across the board for both software and business processes. These harm innovation and encourage the development of technology fiefdoms where revenue isn't derived from genuine innovation applied to labor over time, but from the simple ownership of what would otherwise be a common means or method. We lose as people in this scenario as we won't see and benefit from the innovation that would otherwise occur.
I agree with Heater on the need for GPL code. It is important that a body of open code exist. One reason, and my primary one, happens to be that without this body, closed could be the law of the land, rendering the possibility of actually using open code impractical. Proponents of closed code, who currently derive a lot of revenue fiefdom style, want this to occur, and the GPL license is the number one reason why it hasn't. Pure politics there. Open needs to exist and be in use, and be strong or it will be litigated away. It's as simple as that.
Essentially those people that publish GPL code set their cost as an ongoing and solid commitment to open code, period. You can sell it, use it, modify it, do whatever with it, but for closing it. Given the politics, this is a reasonable cost.
I would point out that heater's scenario can occur with open code as well. Project gets forked, and a better, faster, smarter, well funded group of people can simply take one's mind-share leaving the same dilemma. Just saying...
The other nice thing about GPL is that it leaves the open of multiple licenses on the table nicely. A GPL release will always be open, and grow that pool of open code. Everybody can benefit from that, which keeps the playing field level. Should someone else fork the project and really innovate, that use value returns to all.
At some later time, perhaps it makes sense to derive revenue from that code. The rights holder can do that, right along side the GPL, and benefit directly from their work, while at the same time growing and maintaining the relevance of the body of open code. I strongly support this model, as control rests with the author of the work, and may not be threatened by others. It's technically possible for an open fork to get the mind-share, but in that scenario they will have earned it fair and square through straight up innovation. Nothing wrong with that. In fact, the threat of that keeps the original author working to remain relevant. Nothing wrong with that either.
What it puts off the table is the kinds of closed door deals that consolidate markets and raise value artificially, putting us at risk of a net loss of innovation that would otherwise occur.
Now, for smaller scope things, such as the OBEX, MIT is great! The real value is the innovation around the code, with the body of code being a core enabler for that innovation to occur. Fantastic! I'm on board, and everybody is strongly motivated to get after it, innovate, and profit from that, or not as they see fit.
Consider what the cost of Microsoft Office might be today without the Open Office there to check that growth and potential to extract revenue from the customer through license and version manipulation? I don't want to think about that actually.
What would the cost of operating systems be without Linux there to check the same? I don't want to think about that either.
GPL licensing is that check, meaning it is necessary and healthy. It's not the be all end all, but it's presence and use is more than warranted given the dynamics of computing in general, and our current state of legal regulation.
Maybe someday that state of things will evolve to a point where exerting control for profit is more risky, and less ubiquitous. I may well reconsider some of the GPL politics at that time, but now is simply not that time.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Wiki: Share the coolness!
Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
Safety Tip: Life is as good as YOU think it is!
I believe unrestricted sharing of software and hardware leads to more beneficial advancement overall. Yes there are cases you can contrive that will be negative, but overall I believe it's positive.
Also, don't even talk to me about the abomination that is software patents. It is so infuriating and anti-progress, I am getting mad just typing this as I think about it.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Check out the Propeller Wiki·and contribute if you can.
Now, please be sure I am not fanatical about the GPL.
For for the sake of argument lets assume I'm completely self centred and selfish, mean to the core. Completely driven by whatever I perceive will benefit me the most. Any apparent altruism on my part is only an illusion. Which licence would I use for my software efforts?
1) For something like widgets for the Propeller I might choose the MIT licence. Seem odd given my character profile? Not really. I like Propellers, I want Parallax to continue and prosper so as to endure my supply of Propellers into the future. I want them to have the resources to develop the Prop II run this forum and do all the other great things they do. So it's worth it for me allow the possibility of anyone to using the widget in a closed commercial product. They will buy and sell more Props. Just what I want them to do[noparse]:)[/noparse]
3) If I ever come up with useful non-trivial program I might want to put it under the GPL/LGPL. Especially if it catches the attention of other developers who want contribute fixes or enhancements or translations or ports or whatever. All good for me, I get a better program without having to do all the work[noparse]:)[/noparse] As it's a non-trivial program consuming a lot of my time something like the BSD is out. Why would I want to allow some lazy bugger to use my code without giving anything back?
4) In the unlikely event I get really organized and pay a team of devs to make a world shattering widget. For sure I'm closing it all as tight as a drum. I want money for this one.
5) As it is I'm the shmock who codes for money, by the hour or for a salary. No room for GPL there, I need food on the table.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
Really, I'm more interested in people knowing how and why the licenses work as they do, if anything so better choices and law will be realized.
Fuming here on patents myself. The whole affair is just toxic.
The idea that open is somehow toxic bothers me, as the difference between theft and infringement bothers me. Clarity is just important, and frankly, I learn something new each time I entertain one of these discussions.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Wiki: Share the coolness!
Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
Safety Tip: Life is as good as YOU think it is!
True, but it has the potential for that.
Just like listening to music or watching films doesn't necessarily pollute one's own creations, if some component seems to be derived from some other work it can be challenged as infringing and admitting to having heard or seen the work allegedly infringed reduces the defence of purely independent creation.