@David: Thanks for your research in the matter which, however, mostly
confirms me in thinking of copyright assignment as a good idea.  If you
favor liberal licensing like the MIT license, you should perhaps think
kindly about it, too, because ...

1.) Not having had copyright assignment in the past has already hurt Marpa
license liberalization and continues to.  At this point, I think using the
LPGL for Marpa::R2 was a mistake but, since I didn't ask for copyright
assignment, I cannot liberalize it without dealing with that issue.  The
result is that Marpa::R2 will probably stay as it is.

I am able to change Libmarpa, but only due to lucky circumstances -- it's
code is so opaque that only I have made significant contributions, so the
effect as if I had required copyright assignment.

2.)  The serious "blowback" from copyright assignments in your research is
from using it to put code under restrictive (and in some cases deceptive)
licenses; and/or from annoyance at the paperwork.  Neither is a problem
here.

3.)  Above I mentioned the upside of copyright assignment for liberal
licensing.  Its downside is limited.  Liberal licenses already allow
anybody to exercise most of the rights the copyright holder has.  As
copyright holder, I could turn around and put the current codebase inside a
proprietary wrapper, but so could anybody else under the MIT license.

4.) Will having no paperwork undermine enforceability?  Maybe.  But if it
does, we've lost nothing.  And with liberal licensing, enforcement is less
likely to be challenged -- the GPL folks have to sweat these things,
because folks have an incentive to try to break their license.  With the
MIT license, there's not much to break.

The copyright assignment and the change to liberal licensing really go
together.  And the MIT license is getting a favorable reception.  Perhaps
the line about copyright assignment in the README will turn some folks off,
which is unfortunate, but I hope they'll understand.

Note, by the way, that if I start asking for copyright assignment, and it
turns out to be a dumb idea, I can always reverse course.  I if don't, that
has already proved to be a bad idea, and one whose effects will continue to
worsen.

On Fri, Jan 23, 2015 at 1:06 AM, 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.

Reply via email to