On Wed, 21 Jan 2015 21:40:59 -0800 Jeffrey Kegler <[email protected]> wrote:
> To clarify -- I have no plan to contact anybody re copyright assignment. I > also have not plan to require, or even to accept, any paperwork. There > will be no form to sign. I'll just add a line to the Github README. This > will not help with previous contributions, but there have been no > significant contributions to Libmarpa from anybody but me, and I plan to > leave the license of Marpa::R2 as it is. > > I will not accept any paperwork because I don't want to spend the time, or > ask others to do so. Larry Wall tells me he's never required any paperwork > and has yet to have any problems. That doesn't mean there won't be > problems, but that's possible no matter what you do. > What project of Larry Wall's uses copyright assignment? I think Perl5 is GPLv1/Artisticv1, and Perl6 is Artistic 2. I don't know what license patch is or was maybe BSD or GPL? Do any of these actually _require_ copyright assignment? After some googling and searching perl's mailing lists (http://perl.markmail.org/search/?q=%22copyright+assignment%22#query:%22copyright%20assignment%22+page:2+state:facets), it seems some big contributors of Perl 5, 6, and Parrot have signed copyright assignment paperwork assigning their copyright to the Perl Foundation or The Parrot Foundation, but copyright assignment seems to be optional *not* required. All three projects seem to be willing to take patches without copyright assignment. Perhaps that's how Larry Wall doesn't have to deal with any paperwork, because his projects freely and fully accept patches without copyright assignment, but big contributors are asked to sign. It seems the TPF or TParrotF just get big contributors to sign over their copyrights if they choose to do so, but nowhere does there seem to be an actual requirement anywhere. For example, none of their README or LICENSE files mention copyright assignment anywhere. Yeah, paperwork would just be a waste of time, but without it is copyright actually assigned? I don't know I'm not a lawyer, but I think the answer is no. After some googling, I found this page: http://www.bitlaw.com/copyright/license.html It says copyright is "a personal property right" (at least in the US), so I don't think you stating in a README file that your project using copyright assignment is enough for my copyright to actually be assigned to you. I think you need to buy my property from me, or I need to actually sign some annoying piece of paper for it to actually happen. So, without the annoying piece of paper, your project using copyright assignment does not actually have copyright assignment since you haven't bought your contributors' personal property (their copyright) from them. So, if copyright assignment without proper paperwork and lawyers is powerless, and would never stand up in court, why bother with it? It just angers some people over ideological concerns mentioned in my prior email without providing any useful benefits, because legally an actual signature is needed for copyright assignment to happen, so without the signature there is no actual copyright assignment. While googling I found a great article on lwn.net about copyright assignment angering people: https://lwn.net/Articles/414051/#copyright-assignment Also, I think you might have "copyright assignment" confused with "contributor license agreements" (CLAs). "copyright assignment" is when a company or non-profit (you might be the first individual without some non-profit foundation for their project actually using copyright assignment) forces contributors to sign annoying paperwork giving their copyright for their contributions back to the company or non-profit. While, a CLA is an annoying paper you sign or perhaps just fill out a form on a Website (like Canonical does) is an agreement where you retain copyright of your contributions, but you grant a license to the company or non-profit. A great example of copyright assignment vs CLAs is Canonical's infamous "Canonical Contributor Agreement", whose brief history is well explained here: http://agateau.com/2013/my-stance-on-cla/ Basically what happened was Canonical announced their copyright assignment policy, but hid it under the misnomer "Canonical Contributor Agreement". Once it was outed as copyright assignment there was a massive backlash against Canonical with many users and contributors ditching Canonical and Ubuntu in droves. Apparently it was so massive, Canonical was forced to ditch copyright assignment, and use a CLA instead to make their lawyers happy. This managed to appease some or most of those that previously were angered by the original copyright assignment policy. Any sort of parsing is really complicated. Even regexes are, but they're so useful everyone struggles for a while to learn them. Parsing is even more complicated. Even BNF, which is pretty simple, is really complicated to use to model any sort of language. Marpa is also really complicated to learn and use. Or at least there is enough of a belief that it is really complicated. That it keeps people from even beginning to learn and use it sorta like how Calculus is really infamous and notoriously difficult in highschool or college. All I'm saying is Marpa already has this natural barrier preventing people from using it already. It does not also need powerless (due to no paperwork) copyright assignment angering people due to ideological reasons also keeping people from using it. Furthermore, a comment on the lwn.net article mentions how Apple "effectively requires copyright assignment for the LLVM/Clang suite, though no one really follows it. Since the license is BSD-ish, there's no real practical difference anyway." I'm no license expert, but the MIT license is similar to the BSD license (both not copyleft licenses...), so choosing such a free license effectively limits whatever power using copyright assignment gives you. Also, adding copyright assignment is directly against the spirit of changing the license from a fairly restrictive LGPL to a less restrictive MIT. Because by changing it from only LGPL to MIT + copyright assignment, you've effectively changed nothing: LGPL has copyleft provisions while MIT + copyright assignment has copyright assignment restrictions. So, you're not actually making it more open more academic like; instead, you're only replacing one restriction with another. People see LGPL get annoyed its copyleft. People see MIT + copyright assignment get annoyed its copyright assignment. Same thing just different restrictions. Finally, without the paperwork, copyright assignment is powerless, and most likely won't stand up in court. And if the copyright assignment is powerless, all you get for adding it to your projects is angering some people causing them not only to avoid contributing to marpa, but also avoid even using it in their project, because if you're against copyright assignment, you can't use a library that has copyright assignment, because if there is a bug you find, you can't fix it yourself, because you'd have to give up your copyright in order to contribute your patch, but you're against doing so preventing you from even considering using the library. > Also to clarify, I am not moving to the MIT License to avoid angering > people. I was perfectly happy to have folks angry at me for using the > LGPL. I was less happy to be ignored. And I do want them to read and use > Libmarpa, and to be able to do on terms more in line with the traditions > for mathematics. Oh, now I get it. The reddit post you mentioned was some people checking the license, and if its GPL ignoring it, and not even reading it. This sucks. Marpa is probably not patented, so some one could turn your paper into some MIT licensed code, but that's unlikely given the difficulty. This whole issue reminds me of the most amazing data structure I've heard of: Judy Arrays. A totally amazing data structure that's cache-aware that can replace virtually all data structures people use: AVL trees, Red-Black trees, any other tree, arrays, even hashes (associative arrays). Its supposedly even faster that all of the algorithms everyone uses and is taught in school, and only arrays and linked-lists use less memory. It's cool and just like Marpa it's insanely complicated. Its Website has a "Judy Arrays in 10 minutes" article that barely scratches the surface of how amazing the algorithm is, and how amazingly complicated it is. It replaces simplicity with amazing performance. Its Website is http://judy.sourceforge.net/ , but as its wikipedia page mentions its patented by HP till 2020, so everybody avoids it like the plague, because its patent has infected it just like the plague. Will copyright assignment be Marpa's plague causing everyone to steer clear of it, and avoid it even more than the copyleft? Thanks for marpa. Sorry for the super long and dense post. I just want to avoid Marpa having a gigantic flashing banner ad in its README file that many people will interpret as "Don't touch me". Especially if without proper paperwork the "Don't touch me" sign has no power other than as a gigantic billboard forcing many potential users or contributors to avoid using Marpa, Dave. > > On Wed, Jan 21, 2015 at 8:59 PM, David Yingling <[email protected]> wrote: > > > On Tue, 20 Jan 2015 20:10:10 -0800 > > Jeffrey Kegler <[email protected]> wrote: > > > > > I want to ask opinions about two licensing changes I am thinking of > > > > > > 1.) Switching Libmarpa to the MIT/Lua license. Currently there are some > > > companies that forbid their employees to read LGPL code, because of the > > > danger to their IP in the code that those employees write. In the case > > of > > > Libmarpa, I *want* people to read my code -- they can read my papers, and > > > the code supplements and illustrates those papers, so it makes little > > sense > > > to restrict it. Moving to an MIT license means that people will be able > > to > > > use the Libmarpa code freely in proprietary code. There is a downside to > > > this, but the Lua folks and increasingly the open source community seem > > to > > > be embracing this trade-off as a win. > > > > > > > I'm all for it. Marpa's complexity makes someone else getting inspired by > > your > > paper to implement it with a less restrictive license basically zero > > especially > > if their only reason for doing so is religiously favoring one license over > > another (Like the GNU folks favoring the GPL or OpenBSD favoring the ISC.). > > > > > 2.) Changing both Marpa::R2 and Libmarpa so that anyone contributing code > > > assigns the copyright to me. The upside of this is that I can change the > > > license. That's also the downside -- I, or someone who managed to > > legally > > > take over the copyright from me, would have the right to change to a > > > proprietary license. I don't want to minimize this danger -- open source > > > software being taken proprietary is something that happens a lot. > > > > > > I think the trade-offs are in favor of copyright assignment to me. My > > plan > > > is to use the right to change the license to make licensing more liberal. > > > > I don't find this reason very compelling. In order to do copyright > > assignment, > > you have to contact all of your past contributors, and convince them to > > fill > > out a form of some kind. However, if all you really want to do is change > > the > > license this one time; instead, you could contact them all, and ask them to > > agree to license their patches back to you and everyone else under > > whatever new > > license you choose such as MIT or BSD or ISC or public domain or whatever. > > This > > way you can do the relicense you want to, but avoid angering some people > > due to > > ideological concerns (mentioned below), and having to administer whatever > > copyright assignment scheme you want. > > > > > And note that current and past versions would remain subject to the old > > > open-source licenses -- neither I or anyone else has the right to rescind > > > those licenses. You could always "re-free" the software by starting over > > > from a fork of a previous open-source version. It's a hassle, but it can > > > be done if needed. And in a sense, it's a danger you are already running > > > -- even if I can't change the licensing, I might become a flaky project > > > leader, with the same practical effect. > > > > You're ignoring the most important issue with copyright assignment. Just as > > with the issue of GPL vs BSD(MIT,etc...), people hate copyright > > assignment. I > > do. Some organizations use it so they can make some money like MySQL AB. > > did > > back before Sun bought them: companies could buy a "real" license from > > MySQL > > AB. and use it in their proprietary products allowing them to "bypass" the > > GPL, > > because they bought a license direct from the only owner MySQL. MySQL AB. > > needed the copyright assignment to protect this business model. Others use > > it > > like the FSF does so they can have a better case when they sue people who > > violate the GPL. (https://www.gnu.org/licenses/why-assign.html). > > > > I don't know why I hate copyright assignment. I think its just > > philosophical or > > perhaps ideological, which is much worse (Think Vi vs. Emacs). I just > > don't like the idea of the author of something I want to spend time > > contributing to effectively "stealing" my work just so he could potentially > > change the license in the future without needing my permission or > > rewriting my > > code. I suppose its not stealing, because I'm choosing to give you my > > copyright, but I'm not freely choosing to do so, because you're forcing me > > to > > in order for my code to be accepted into your project. > > > > The other problem of copyright assignment is the actual paperwork needed > > to do > > so. Obviously everyone who submits code and then does the copyright > > assignment > > is not going to need to hire a lawyer to do so. I wondered what the FSF > > does. > > Apparently it's quite a process. > > (https://www.fsf.org/licensing/assigning.html). There is even an > > "Assignment > > Administrator". I'm sure you could find a much simpler process, but would > > it > > be as rigorous, and able to stand up in court if needed? > > > > Just as some people seeing its LGPL, and getting all angry that Marpa > > fails to > > use their license of choice (BSD or MIT or something similar like ISC like > > OpenBSD uses), some people will get all angry that Marpa has copyright > > assignment. I already have. I've even bothered to write this email to the > > list > > where I'm a long time lurker. I just really hate copyright assignment. > > MySQL > > AB. using it to make some money I was ok with. FSF being crazy zealots > > requiring copyright assignment just to make any potential lawsuits more > > effective, I'm ok with. But some cool small project like Marpa using it > > just to > > potentially change the license in the future just makes me surprisingly > > angry > > (ideology is powerful stuff). Ironically, potentially angering people > > originally > > inspired you to make this move (the reddit post). > > > > > > > > I'm keeping Marpa::R2 on the LGPL, at least for the time being. With > > > Libmarpa the asymmetry between by completely-open Theory papers and my > > > LGPL'd code makes the trade-off pretty clear. And nobody but me has made > > > any significant contribution to Libmarpa. With Marpa::R2, both these > > > factors are less clear. And in some months I expect it to be replaced > > with > > > a Kollos-based Marpa::R3, so that it's not worthwhile to spend a lot of > > > time rethinking Marpa::R2 licensing. > > > > > > A final note: Libmarpa contains some code derived from LGPL'd code > > written > > > by others -- GNU's obstack's, and Ben Pfaff's AVL code. This code must > > and > > > will remain LGPL'd. > > > > > > Thanks, jeffrey > > > > > > -- > > > You received this message because you are subscribed to the Google > > Groups "marpa parser" group. > > > To unsubscribe from this group and stop receiving emails from it, send > > an email to [email protected]. > > > For more options, visit https://groups.google.com/d/optout. > > > > -- > > You received this message because you are subscribed to the Google Groups > > "marpa parser" group. > > To unsubscribe from this group and stop receiving emails from it, send an > > email to [email protected]. > > For more options, visit https://groups.google.com/d/optout. > > > > -- > You received this message because you are subscribed to the Google Groups > "marpa parser" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "marpa parser" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
