What you want sounds reasonable in theory, but doesn't it now hinge on the specifics of what the API is for libmnemosyne? If you AGPLed libmnemosyne, it seems possible that the level 2 wrapper would not be considered the same program as libmnemosyne, because libmnemosyne has a well definined API that is presumably adequate for writing #2.
On the other hand, the LGPL is different from the GPL mainly because GPL'd libraries cannot be linked with proprietary code---apparently if a program links with a library, it and the library are considered part of the same program. So it seems that the old linking definition and the new "uses the API" definition are somewhat incompatible. So anyway, I should stop speculating since I don't know the legal specifics. I just want to point out that it's important that some well-known license like the AGPL does what you want. You probably don't want to write your own license. -- Ben ----------------- Original message ----------------- From: Peter Bienstman <[email protected]> To: [email protected] Date: Mon, 7 Sep 2009 12:51:21 +0200 On Monday 07 September 2009 08:57:42 am Peter Bienstman wrote: > Interesting! However, wouldn't that mean that any new front-end people > write (and which only interacts with libmnemosyne through the API) would > not be subject to the AGPL? So even with the AGPL, people could write a new > client (Javascript, Android, whatever, ...) and keep it secret? > > Would that also apply for the GPL? I guess not, because otherwise what's > the point? I've been reading up/thinking about this a bit more. I guess there is an important difference between an API at the Python level and an API at the network level. This is how I now understand it, and which I currently think is also a good, fair licensing model. There are basically three levels: 1) libmnemosyne: Any application that uses this at the Python level (from libmnemosyne import ...) or equivalent and gets distributed must make its source code available. This includes front-ends on new clients, but also... 2) the Mnemosyne server code: Takes HTML post and get commands and communicates with libmnemosyne to add new cards, gets the next card for review, grade the result, ... 3) added value from a different website: E.g. converting PowerPoints to Mnemosyne cards, injecting vocabulary from Chinese lessons into Mnemosyne, ... They communicate with a Mnemosyne server somewhere, but only through its well defined HTML API, and therefore for these added values people are free to choose whatever license they prefer, even if the underlying level 1 and 2 code is (A)GPL. (See the last comment in http://blogs.codehaus.org/people/geir/archives/001771_misunderstanding_the_agpl.html ) The difference between GPL and AGPL mainly plays at protecting level 2). With the AGPL, any level 3) app must make a download link to the (possibly) modified and improved code of level 2 and 1 available. A good option would be a footer in the webpage saying 'Flash cards based on Mnemosyne' with a click through link to the modified source. Note that this would probably mean that web based Mnemosyne *clients* fall under 3) and could be closed. I have to admit that this is not what I originally had in mind, but OTOH it seems like this is intended with the AGLP and it would e.g. allow rbuc to compete with other Mnemosyne based sites on features and ease of use, and Chinesepod to give their review client the same look and feel as the rest of their site. And still, if they improve levels 1 and 2, this benefits the community. Also, somebody could decide later to implement a web client and license that as AGPL too. So, if my understanding of this is correct, such a model would open the way for rbuc to use Mnemosyne technology in his site. He would still have to implement 2) first and "give it away", but I guess layer 2) will be extremely thin, so no worries there. Obviously, a licensing explanation like this one should come on our website, just like the folks from CiviCRM did, as apparently the desires of the authors are important in interpreting copyright law. What do people think? Peter PS: Launchpad uses AGPL too --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "mnemosyne-proj-users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/mnemosyne-proj-users?hl=en -~----------~----~----~----~------~----~------~--~---
