Just as an aside, and a data point, this JS port of (some of?) Marpa is MIT licensed:
https://github.com/Hardmath123/nearley BTW I wonder what the quality of this port is. On 23 January 2015 at 19:36, David Yingling <[email protected]> wrote: > 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. -- 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.
