Return-Path: Delivered-To: apmail-incubator-wookie-dev-archive@minotaur.apache.org Received: (qmail 70190 invoked from network); 21 Jul 2009 22:37:30 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 21 Jul 2009 22:37:30 -0000 Received: (qmail 82402 invoked by uid 500); 21 Jul 2009 22:38:35 -0000 Delivered-To: apmail-incubator-wookie-dev-archive@incubator.apache.org Received: (qmail 82389 invoked by uid 500); 21 Jul 2009 22:38:35 -0000 Mailing-List: contact wookie-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: wookie-dev@incubator.apache.org Delivered-To: mailing list wookie-dev@incubator.apache.org Received: (qmail 82379 invoked by uid 99); 21 Jul 2009 22:38:35 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Jul 2009 22:38:35 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of ross.gardler@googlemail.com designates 209.85.219.223 as permitted sender) Received: from [209.85.219.223] (HELO mail-ew0-f223.google.com) (209.85.219.223) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Jul 2009 22:38:22 +0000 Received: by ewy23 with SMTP id 23so3394833ewy.12 for ; Tue, 21 Jul 2009 15:38:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:from:date:x-google-sender-auth:message-id:subject:to :content-type:content-transfer-encoding; bh=YkmMTI4InQlvzxYRqrbDhKELCN0qaGR4SJjd/CJRrxU=; b=FSMZ3W7QGJwJIJhr4gjmDokUDRAhnQDhC2kWZ85/FHmsgzyOz7Tpw1jcUwdesxomo5 k3ggtq43n+XySMVPOcSibtb8EcyYeDrUwrSnvA7ojRrJbSOQqqKITXLK55gK1bBJtxPo AbTnPtiJfujLCtUirKHlboTUrS9YbRqPNUgAQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:content-type :content-transfer-encoding; b=H2ei5pXlsi8TqVd278A1PRndscHaMFzcmHs5oKqF2wJ8lvN39YazsPhTRTY7gwdblC tVIXY9dTh2B2yDVx/VCGjD/ftUJ6sDKLxkjQhchFifwFLKw8W8dlNNjp3KC5Pu+9EBe3 hSj8zkB/mN52lionBSOVSyMWSxLt1+ZJ/gSdk= MIME-Version: 1.0 Sender: ross.gardler@googlemail.com Received: by 10.216.12.67 with SMTP id 45mr47262wey.218.1248215881103; Tue, 21 Jul 2009 15:38:01 -0700 (PDT) In-Reply-To: <28B3C1AF-9393-4752-923C-260BA711BCA2@gmail.com> References: <61c9bc470907211420r59ce2d76n9738f4c4faa863c9@mail.gmail.com> <28B3C1AF-9393-4752-923C-260BA711BCA2@gmail.com> From: Ross Gardler Date: Tue, 21 Jul 2009 23:37:41 +0100 X-Google-Sender-Auth: 665c99e7b0840760 Message-ID: <61c9bc470907211537y7364e61ev9a55922a8a20bc9c@mail.gmail.com> Subject: Re: A few more IP issues and code preparation To: wookie-dev@incubator.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org 2009/7/21 Scott Wilson : > > On 21 Jul 2009, at 22:20, Ross Gardler wrote: > >> Whilst we are waiting for the relevant legal documents to be filed >> perhaps the Wookie team would like to prepare the code for import. >> >> There are four incompatibly licensed dependencies (assuming the notice >> file is up to date): >> >> =A0 =A0c3p0 >> =A0 =A0Java Transactions API >> =A0 =A0MySQL Connector >> =A0 =A0Hibernate >> >> These cannot be brought in to ASF infrastructure and thus must be >> removed from the repository and build instructions updated >> accordingly. We'll have to replace these dependencies during >> incubation. I note that during the proposal stage Scott mentioned that >> moving to CouchDB might make sense. we can explore this once the >> initial code import is complete. > > Removing Hibernate+MySQL+c3p0+JTA will require a bit of a rethink on the = ORM > front - maybe we can use OpenJPA, or just get rid of ORM and use plain JD= BC > & SQL. CouchDB could be interesting for the actual widget instance > preference and state data. > > However its a fair chunk of work removing these dependencies - is it best= if > we fix these outside the incubator and then move the code when its workin= g, > or submit the code as-is but with just the libraries and build info remov= ed > (i.e., not working) and then fix it in the incubator? The problem is not that your code depends on them, it is that because of the licence incompatibilities we cannot distribute from ASF infrastructure. So there is no need to break things completely. I recommend: - Remove the libs. - Add a step to the build instructions saying the libs need to be manually downloaded and placed in the lib directory - make build.xml check for their existence and failing with a sensible mess= age This means that anyone building Wookie will be aware that there are licence incompatibilities and must act accordingly if they redistribute. In other words, there are no hidden surprises in our distribution. >> Since my initial evaluation of the code I have identified a few other >> potential conflicts: >> >> I am unsure of our ability to Apache License the Moodle, Elgg and >> Wordpress plugins since each of these containers is GPL and I have no >> idea if the viral nature of the GPL is invoked by these plugins. It is >> a contentious issue. The FSF general claim that modules are "touched" >> by the GPL whereas Linux says they are not (and I'd suggest that Linux >> Kernel modules are closer to the GPL code than a typical Moodle plugin >> for example). > > I think its a reasonable question to ask whether the Apache Wookie projec= t > should include the plugins, or just the engine. If not the plugins could = be > handled outside in a separate project, or (my preference, but difficult i= n > practice) they can be taken on by the container projects themselves. The rails one can certainly come into the ASF and would act as an example. I'd like to see a project socialsite and/or Wicket and/or roller plugin developed pretty quickly as examples. I'll return to the other plugins at the end of this mail. >> I also note that there is some code from Apple which is not under a >> licence I am familiar with. See >> >> http://tencompetence.cvs.sourceforge.net/viewvc/tencompetence/wp6/org.te= ncompetence.widgetservice/WebContent/shared/mac-resources/WidgetResources/A= ppleClasses/AppleAnimator.js?revision=3D1.1&view=3Dmarkup >> >> I'm also not sure about the widgets in >> >> http://tencompetence.cvs.sourceforge.net/viewvc/tencompetence/wp6/org.te= ncompetence.widgetservice/widgets/ >> I'm pretty sure the code for (at least some of) these come from the >> Google Wave project, what licence are they under and do they contain >> any code from other third parties. > > The Apple files included in shared/mac-resources can be removed - this wa= s a > convenience for when running converted Apple Dashboard during early testi= ng, > but isn't appropriate for inclusion now. OK. That's a simple solution then. > Looking at the Widgets in the /widgets folder: > > * WookieWiki.wgt uses Creole.js, which uses an MIT-style license. MIT is fine - but you may need to add an entry to the NOTICE file. > * Sudoku.wgt uses some Google JS code which has no identifiable license. Assuming this is the code from the wave API samples I'd suggest a mail to the API group asking them to clarify the license situation. Almost certainly they will put it under a permissive licence since it is sample code. http://groups.google.com/group/google-wave-api Can you, or one of the committers please follow this up. > * WaveWord.wgt uses some code from > http://www.themaninblue.com/experiment/SSCrabble/=A0of indeterminate lice= nse, > and JQuery which is dual MIT and GPL. JQuery is fine as we can take it under MIT. The other code is a concern for two reasons. The first is that there is no clear licence, this can probably be resolved with a quick email. However, there is every possibility that the code infringes on Mattel trademarks. It may be better to leave this widget in another location, see end of this = mail. > * Test.wgt doesn't use any outside code (its for testing API compliance w= ith > specs). > > * YouDecide.wgt doesn't use any outside code. Good. > Inside the /WebContent/wservices folder are widgets included in a default > build: > > * Natter uses some Apple code; this can be removed as its just chrome. > JQuery again. And the smileys are actually Skype emoticons under the Skyp= e > Component license: > https://developer.skype.com/Download/SkypeEmoticons=A0however I think the= se > actually aren't being used under the license appropriately and would need= to > be replaced with some genuinely open emoticon images. If anyone knows of = any > this would be very handy! I often use http://www.famfamfam.com/lab/icons/silk/ for icons, I'm pretty sure there are some emoticons in there to. CC-BY-SA licence > None of the other widgets (weather, vote, chat, forum) use any external > code. Excellent. >> I'd like to hear the thoughts of the mentors on handling these issues. >> I'd also appreciate it if mentors can look over the code to see if >> there are any items I've missed (note the lib files are in an unusual >> place: >> http://tencompetence.cvs.sourceforge.net/viewvc/tencompetence/wp6/org.te= ncompetence.widgetservice/WebContent/WEB-INF/lib/ >> ) My suggestion for the plugins and widgets of questionable licence is to do as Scott suggests and start a separate google code/sourceforge/whatever repository to house incompatibly licensed plugins (which are actually plugins for containers rather than for Wookie - the name is confusing) and widgets. Lets call it wookie-extras Committers on Wookie should be given commit on wookie-extras too, but committers on wookie-extras do not automatically get commit on wookie. we can have a lower barrier to commit on wookie-extras and treat it as a kind of incubating site for widgets. Ross