You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Pradeep Soundararajan <pr...@citrix.com> on 2012/07/30 06:26:35 UTC

Discussion on Mysql connector

Let me summarize this discussion.

As a part of third party licenses removal from ASF, here we have removed MYSQL connector binaries and its related dependencies since it is a part of GPL.

We have submitted the related patch already to ASF. “Review Request: [Enhancement] CS-15694: Remove MYSQL connector”

Please review, let us know if you have any concerns over removing this…

Thanks,
Pradeep.S

From: Ram Chinta
Sent: Saturday, July 28, 2012 12:18 AM
To: Pradeep Soundararajan; Kelven Yang; Rajesh Battala; Alex Huang; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan
Subject: RE: Discussion on Mysql connector

Pradeep – Can you take this thread to the apache dev list.

From: Pradeep Soundararajan
Sent: Friday, July 27, 2012 10:55 AM
To: Kelven Yang; Rajesh Battala; Alex Huang; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: RE: Discussion on Mysql connector

Resubmitted the patch. Please find the attachment…

Thanks,
Pradeep.S
CM related: http://wiki.cloudstack.org/display/gen/Configuration+Management

From: Kelven Yang
Sent: Friday, July 27, 2012 10:29 PM
To: Pradeep Soundararajan; Rajesh Battala; Alex Huang; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: Re: Discussion on Mysql connector

Pradeep,

Please change


 if (e instanceof SQLException || e instanceof SQLRecoverableException) {



To


 if (e instanceof SQLRecoverableException) {


We can't test generic SQLException here

Kelven


rom: Pradeep Soundararajan <pr...@citrix.com>>
Date: Friday, July 27, 2012 4:42 AM
To: Kelven Yang <ke...@citrix.com>>, Rajesh Battala <ra...@citrix.com>>, Alex Huang <Al...@citrix.com>>, David Nalley <Da...@citrix.com>>, Edison Su <Ed...@citrix.com>>
Cc: Ewan Mellor <Ew...@eu.citrix.com>>, Kevin Kluge <Ke...@citrix.com>>, Sudha Ponnaganti <su...@citrix.com>>, Frank Zhang <Fr...@citrix.com>>, Hariharan Sankaranarayanan <ha...@citrix.com>>, Will Chan <wi...@citrix.com>>, Ram Chinta <ra...@citrix.com>>
Subject: RE: Discussion on Mysql connector

Thanks Rajesh for taking up this…

FYI,

Patch has been submitted by Rajesh to cloudstack-dev: https://reviews.apache.org/r/6174/

Please review….

Thanks,
Pradeep.S
CM related: http://wiki.cloudstack.org/display/gen/Configuration+Management


From: Kelven Yang
Sent: Thursday, July 26, 2012 11:42 PM
To: Rajesh Battala; Alex Huang; Pradeep Soundararajan; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: Re: Discussion on Mysql connector

Don't do generic if-check, we need specific exception check here.

Kelven

From: Rajesh Battala <ra...@citrix.com>>
Date: Thursday, July 26, 2012 10:36 AM
To: Kelven Yang <ke...@citrix.com>>, Alex Huang <Al...@citrix.com>>, Pradeep Soundararajan <pr...@citrix.com>>, David Nalley <Da...@citrix.com>>, Edison Su <Ed...@citrix.com>>
Cc: Ewan Mellor <Ew...@eu.citrix.com>>, Kevin Kluge <Ke...@citrix.com>>, Sudha Ponnaganti <su...@citrix.com>>, Frank Zhang <Fr...@citrix.com>>, Hariharan Sankaranarayanan <ha...@citrix.com>>, Will Chan <wi...@citrix.com>>, Ram Chinta <ra...@citrix.com>>
Subject: RE: Discussion on Mysql connector

Actually the code that is throwing the error is

“ if (e instanceof  com.mysql.jdbc.CommunicationsException || e instanceof  com.mysql.jdbc.exceptions.jdbc4.Communic ationsException)  “



Both the exception class are from mysql connector jar.

com.mysql.jdbc.CommunicationsException Class can be replaced with java.sql.SQLException

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException Class can be replaced with java.sql.SQLRecoverableException.



But java.sql.SQLException is the base class for java.sql.SQLRecoverableException.





        [cid:image001.gif@01CD6BED.AA95D620] java.sql.SQLException<http://www.docjar.com/docs/api/java/sql/SQLException.html>

           [cid:image001.gif@01CD6BED.AA95D620] java.sql.SQLRecoverableException<http://www.docjar.com/docs/api/java/sql/SQLRecoverableException.html>

              [cid:image001.gif@01CD6BED.AA95D620] com.mysql.jdbc.exceptions.jdbc4.CommunicationsException




  [cid:image001.gif@01CD6BED.AA95D620] java.sql.SQLException<http://www.docjar.com/docs/api/java/sql/SQLException.html>
     [cid:image001.gif@01CD6BED.AA95D620] com.mysql.jdbc.CommunicationsException



we can have the single ‘if’ check for the Type exception is of java.sql.SQLException and return True.



Thanks

Rajesh Battala

From: Kelven Yang
Sent: Thursday, July 26, 2012 10:55 PM
To: Alex Huang; Pradeep Soundararajan; Rajesh Battala; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: Re: Discussion on Mysql connector

In this case , OR is not needed. (obvious, isn't it? :-) )

Kelven

From: Alex Huang <Al...@citrix.com>>
Date: Thursday, July 26, 2012 10:18 AM
To: Pradeep Soundararajan <pr...@citrix.com>>, Kelven Yang <ke...@citrix.com>>, Rajesh Battala <ra...@citrix.com>>, David Nalley <Da...@citrix.com>>, Edison Su <Ed...@citrix.com>>
Cc: Ewan Mellor <Ew...@eu.citrix.com>>, Kevin Kluge <Ke...@citrix.com>>, Sudha Ponnaganti <su...@citrix.com>>, Frank Zhang <Fr...@citrix.com>>, Hariharan Sankaranarayanan <ha...@citrix.com>>, Will Chan <wi...@citrix.com>>, Ram Chinta <ra...@citrix.com>>
Subject: RE: Discussion on Mysql connector


I've found Mysql updates the error code appropriately in the error cases we handle in the dao code but if SqlRecoverableException works too, then it’s fine.



I have a separate question.  Why is the following condition ORed?  Isn’t it the same exception check?



>> if (e instanceof java.sql.SQLRecoverableException || e instanceof

>> java.sql.SQLRecoverableException) {

>>                           return true;

>>             }



I echo Dave’s email about moving this to cloudstack-dev.  Might be a little hard to do with a long email chain but we should summarize and announce what we’re doing.



--Alex


From: Pradeep Soundararajan
Sent: Thursday, July 26, 2012 10:13 AM
To: Kelven Yang; Alex Huang; Rajesh Battala; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: RE: Discussion on Mysql connector


Thanks Kelven for the confirmation..



So I should be replacing all the references (mysql) with whatever Rajesh suggested in case I found a similar error…



Thanks,

Pradeep.S



-----Original Message-----
From: Kelven Yang
Sent: Thursday, July 26, 2012 10:39 PM
To: Alex Huang; Pradeep Soundararajan; Rajesh Battala; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: Re: Discussion on Mysql connector



Not sure if error code from JDBC driver is reliable, Rajesh's suggestion works better Kelven



On 7/26/12 10:04 AM, "Alex Huang" <Al...@citrix.com>> wrote:



>Kelven,

>

>You should take this.  I think you have to replace the instance check

>with a check on the error code.  We can't reference mysql specific

>classes in our code.

>

>--Alex

>

>> -----Original Message-----

>> From: Pradeep Soundararajan

>> Sent: Thursday, July 26, 2012 9:59 AM

>> To: Rajesh Battala; David Nalley; Edison Su; Alex Huang; Kelven Yang

>> Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang;

>> Hariharan Sankaranarayanan; Will Chan; Ram Chinta

>> Subject: RE: Discussion on Mysql connector

>>

>> +Edison.

>>

>> Thanks Rajesh for the quick response.

>>

>> All our experts are here, we will wait for their reply  or else we

>>can even  move this discussion to cloudstack-dev as per David

>>suggestion by tomorrow.

>>

>> Thanks,

>> Pradeep.S

>>

>>

>> -----Original Message-----

>> From: Rajesh Battala

>> Sent: Thursday, July 26, 2012 10:04 PM

>> To: David Nalley

>> Cc: Pradeep Soundararajan; Alex Huang; Ewan Mellor; Kevin Kluge;

>>Sudha  Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan;

>>Ram Chinta;  Kelven Yang

>> Subject: RE: Discussion on Mysql connector

>>

>> Hi Pradeep,

>>

>> You can replace those lines with these code

>>

>> "

>> if (e instanceof java.sql.SQLRecoverableException || e instanceof

>> java.sql.SQLRecoverableException) {

>>                           return true;

>>             }

>> "

>> As we had removed the mysql connector jar

>>"com.mysql.jdbc.exceptions.jdbc4.CommunicationsException" class is not

>>available. Instead of that class we can use the class

>>"java.sql.SQLRecoverableException" for verifying whether its sql

>>exception  or not.  This class

>>"com.mysql.jdbc.exceptions.jdbc4.CommunicationsException" extends from

>>java.sql.SQLRecoverableException class from the doc

>>http://www.docjar.com/docs/api/com/mysql/jdbc/exceptions/jdbc4/Comm

>> unicationsException.html

>>

>> I had replaced it locally and tested its working fine.

>>

>> Please correct me if am wrong.

>>

>> Thanks

>> Rajesh Battala

>>

>>

>> -----Original Message-----

>> From: David Nalley [mailto:david.nalley@citrix.com]<mailto:[mailto:david.nalley@citrix.com]>

>> Sent: Thursday, July 26, 2012 9:14 PM

>> To: Rajesh Battala

>> Cc: Pradeep Soundararajan; Alex Huang; Ewan Mellor; Kevin Kluge;

>>Sudha  Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan;

>>Ram Chinta;  Kelven Yang

>> Subject: Re: Discussion on Mysql connector

>>

>> Please move this discussion to cloudstack-dev

>>

>> On 07/26/2012 11:29 AM, Rajesh Battala wrote:

>> > Hi Pradeep,

>> >

>> > Am looking into the issue now. Will let you know the result.

>> >

>> > Thanks

>> >

>> > Rajesh Battala

>> >

>> > *From:*Pradeep Soundararajan

>> > *Sent:* Thursday, July 26, 2012 8:50 PM

>> > *To:* Alex Huang; Ewan Mellor; Kevin Kluge; David Nalley

>> > *Cc:* Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan;

>> > Will Chan; Ram Chinta; Kelven Yang; Rajesh Battala

>> > *Subject:* RE: Discussion on Mysql connector

>> >

>> > deps/cloud-mysql-connector-java-5.1.7-bin

>> >

>> > awsapi-lib/mysql-connector-java-5.1.7-bin

>> >

>> > cloudbridge-lib/mysql-connector-java-5.1.7-bin

>> >

>> > I really need a help from any Java developers. When I tried

>> > removing the first one, if gave me some compilation error (dependency error).

>> >

>> > compile-server:

>> >

>> >      [mkdir] Created dir:

>> > /home/pradeep-ubuntu/workspaces/cloudstack-oss/target/classes/cloud

>> > -

>> se

>> > rver.jar

>> >

>> >       [echo] Compiling

>> > /home/pradeep-ubuntu/workspaces/cloudstack-oss/server/src

>> >

>> >      [javac] Compiling 832 source files to

>> > /home/pradeep-ubuntu/workspaces/cloudstack-oss/target/classes/cloud

>> > -

>> se

>> > rver.jar

>> >

>> >      [javac]

>> > /home/pradeep-ubuntu/workspaces/cloudstack-

>> oss/server/src/com/cloud/cluster/ClusterManagerImpl.java:800:

>> > package com.mysql.jdbc does not exist

>> >

>> >      [javac]             if (e instanceof

>> > com.mysql.jdbc.CommunicationsException || e instanceof

>> > com.mysql.jdbc.exceptions.jdbc4.CommunicationsException) {

>> >

>> >      [javac]                                            ^

>> >

>> >      [javac]

>> > /home/pradeep-ubuntu/workspaces/cloudstack-

>> oss/server/src/com/cloud/cluster/ClusterManagerImpl.java:800:

>> > package com.mysql.jdbc.exceptions.jdbc4 does not exist

>> >

>> >      [javac]             if (e instanceof

>> > com.mysql.jdbc.CommunicationsException || e instanceof

>> > com.mysql.jdbc.exceptions.jdbc4.CommunicationsException) {

>> >

>> >

>> > [javac]

>> >                                                       ^

>> >

>> >      [javac] Note: Some input files use or override a deprecated API.

>> >

>> >      [javac] Note: Recompile with -Xlint:deprecation for details.

>> >

>> >      [javac] Note: Some input files use unchecked or unsafe

>>operations.

>> >

>> >      [javac] Note: Recompile with -Xlint:unchecked for details.

>> >

>> >      [javac] 2 errors

>> >

>> > Please let me know if someone helping me to fix all of these

>> > dependency errors or guide me how to go ahead?

>> >

>> > Thanks,

>> >

>> > Pradeep.S

>> >

>> > /3P deps:

>> > http://wiki.cloudstack.org/display/gen/Third+party+dependencies/

>> >

>> > *From:*Alex Huang

>> > *Sent:* Thursday, July 26, 2012 4:04 PM

>> > *To:* Pradeep Soundararajan; Ewan Mellor; Kevin Kluge; David Nalley

>> > *Cc:* Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan;

>> > Will Chan; Ram Chinta; Kelven Yang

>> > *Subject:* RE: Discussion on Mysql connector

>> >

>> > Ewan¹s email includes what to do on mysql connector.  CloudStack

>> > doesn¹t need it during build.  It only needs it during run-time so

>> > as long as there¹s a dependency on it in the RPM, we¹re fine with

>> > removing it from the source tree.  Should be straight-forward.

>> >

>> > --Alex

>> >

>> > *From:*Pradeep Soundararajan

>> > *Sent:* Thursday, July 26, 2012 12:36 AM

>> > *To:* Ewan Mellor; Kevin Kluge; David Nalley; Alex Huang

>> > *Cc:* Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan;

>> > Will Chan; Ram Chinta; Kelven Yang

>> > *Subject:* Discussion on Mysql connector

>> >

>> > Now, let me start the discussion on MYSQL connector.

>> >

>> > Component            License       Comment

>> >                             Status / Actions

>> >

>> > MySQL Connector/J    GPL 2.0       Remove or obtain a commercial

>>license

>> > http://svn.apache.org/repos/asf/apr/apr/trunk/README. Needs

>> investigation.

>> >

>> > It looks like this is the biggest stuff. Could you please let me

>> > know if someone has started the investigation alreadyŠ

>> >

>> > Thanks,

>> >

>> > Pradeep.S

>> >

>> > /3P deps:/

>> > /http://wiki.cloudstack.org/display/gen/Third+party+dependencies/

>> >

>> > *From:*Ewan Mellor

>> > *Sent:* Thursday, June 14, 2012 6:09 AM

>> > *To:* David Nalley; Pradeep Soundararajan

>> > *Cc:* Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan

>> > *Subject:* RE: third party dep conversion from GPL to Apache

>> > license or compatible

>> >

>> > [cc Hari, who wasn't at the company when we started this

>> > discussion!]

>> >

>> > As far as I am aware, we've done the analysis on which bits need to

>> > be looked at.  That was in Kevin's email, except we have since

>> > added the VMware SDK to the list:

>> >

>> > -Mysql connector

>> >

>> > -Paramiko

>> >

>> > -Libvirt

>> >

>> > -Hibernate (work with Prachi on this one, to determine version)

>> >

>> > -remove JnetPcap altogether

>> >

>> > -VMware SDK

>> >

>> > Pradeep, please look at these ones first.  (If any more come up in

>> > the meantime, we can worry about those later.)

>> >

>> > For each one of these, please start a thread on the cloudstack-dev

>> > mailing list saying why you want to remove them, and what you're

>> > going to do.  You should be the one to do this, because I want you

>> > to be more visible in the community so that you can earn committer status.

>> >

>> > I'll write some notes for the things that I know -- I expect you to

>> > flesh this out a bit, and check that my facts are right before you

>> > send, because I haven't checked these myself.

>> >

>> > 1.JnetPcap: only present in the tree in binary form, only used by

>> > deprecated component (dhcplistener).  Plan: remove it,

>> > dhcplistener, and any build components.

>> >

>> > 2.VMware SDK: Needed for VMware support, should be possible to do

>> > without it otherwise.  Plan: make it possible to turn VMware

>> > support on, as an option in the build.  Don't build any of the

>> > VMware modules unless that option is turned on.  Document that

>> > option.  Remove the SDK from the tree (if it's there).  Make the

>> > Citrix build have the

>>option

>> turned on.

>> >

>> > 3.Libvirt: As for the VMware SDK, only replace "VMware" with "KVM".

>> > Except in this case, because libvirt is open-source (it's not just

>> > Apache licensed) then the preference will probably be to have the

>> > KVM option turned on by default, and then refer to libvirt as a

>> > dependency of the RPMs / debs.  That is a question for the

>> > community.  I don't care, so whichever option causes the least

>> > anger.  The Citrix build will turn this on, whichever way it gets managed by Apache.

>> >

>> > 4.Paramiko: Don't know whether this is optional or required.  You

>> > will have to check (or maybe someone else can chime in).

>> >

>> > 5.Hibernate: Check with Prachi what she wants to do.

>> >

>> > 6.MySQL connector: Required by CloudStack, but we can't ship it, so

>> > it becomes a compulsory system dependency.  Document the dependency

>> for

>> > the build, remove any MySQL code from our tree.  Update the RPMs /

>> > debs to refer to it as a dependency.

>> >

>> > Thanks for this, Pradeep.  Please let us know if you have any

>>questions.

>> >

>> > Looking at all that text, it looks like it would be good to copy

>> > this into a Confluence page so that we can track progress.  Please do that.

>> >

>> > Thanks,

>> >

>> >

>> > Ewan.

>> >

>> >  > -----Original Message-----

>> >

>> >  > From: David Nalley [mailto:david.nalley@citrix.com]<mailto:[mailto:david.nalley@citrix.com]>

>> > <mailto:[mailto:david.nalley@citrix.com]>

>> >

>> >  > Sent: Wednesday, June 13, 2012 3:20 PM

>> >

>> >  > To: Pradeep Soundararajan

>> >

>> >  > Cc: Ewan Mellor; Sudha Ponnaganti; Frank Zhang

>> >

>> >  > Subject: Re: third party dep conversion from GPL to Apache

>> > license or

>> >

>> >  > compatible

>> >

>> >  >

>> >

>> >  > It is indeed. I'd start with something 'small' and deprecated -

>> > like

>> >

>> >  > jnetpcap - Edison says dhcplistener is deprecated - we should

>> > remove

>> >

>> >  > that code and jnetpcap - start with a discussion on the list

>> > about

>> >

>> >  > removing it, along with a 2 sentence 'how' you plan on doing it.

>> > and

>> >

>> >  > then come back to the list with patches for so doing.

>> >

>> >  >

>> >

>> >  > --David

>> >

>> >  >

>> >

>> >  > On 06/13/2012 01:12 PM, Pradeep Soundararajan wrote:

>> >

>> >  > > Thanks David for the reply...It looks like huge amount of work

>> > :)

>> >

>> >  > >

>> >

>> >  > > It seems one should have clear understanding on CloudStack

>> > system in

>> >

>> >  > order to list the dependencies and its details (sys req and

>> > optional

>> >

>> >  > add-ons).

>> >

>> >  > >

>> >

>> >  > > Since I am a new comer to this project what would you suggest

>> > me to

>> >

>> >  > achieve this. Please share if you have any plans in your mind?

>> >

>> >  > >

>> >

>> >  > > Thanks,

>> >

>> >  > > Pradeep.S

>> >

>> >  > >

>> >

>> >  > > -----Original Message-----

>> >

>> >  > > From: David Nalley [mailto:david.nalley@citrix.com]<mailto:[mailto:david.nalley@citrix.com]>

>> > <mailto:[mailto:david.nalley@citrix.com]>

>> >

>> >  > > Sent: Wednesday, June 13, 2012 7:48 PM

>> >

>> >  > > To: Pradeep Soundararajan

>> >

>> >  > > Cc: Ewan Mellor; Sudha Ponnaganti; Frank Zhang

>> >

>> >  > > Subject: Re: third party dep conversion from GPL to Apache

>> > license or

>> >

>> >  > compatible

>> >

>> >  > >

>> >

>> >  > > So the idea is this:

>> >

>> >  > >

>> >

>> >  > > Apache CloudStack's source repo should contain onl

>> > ASL-licensed code

>> >

>> >  > or ASL-compatible code. That is the body of code that actually

>> > gets

>> >

>> >  > released, and it must be releasable under the ASL.

>> >

>> >  > >

>> >

>> >  > > There are exceptions to this and they fall into two categories:

>> >

>> >  > >

>> >

>> >  > > System requirements

>> >

>> >  > > and

>> >

>> >  > > Optional Add-ons

>> >

>> >  > >

>> >

>> >  > > System requirements - these are things that are required to

>> > run

>> >

>> >  > CloudStack. In general these should be as minimal as possible.

>> > The

>> >

>> >  > delineation here is that CloudStack will not function without

>> > the

>> >

>> >  > system requirements. So currently a MySQL database and MySQL

>> > java

>> >

>> >  > connector are system requirements. But we can't include either

>> > in

>> >

>> >  > Apache CloudStack's code base, but we can document the

>> > requirement and

>> >

>> >  > even include the requirement in our RPMs so the packages are

>> > installed

>> >

>> >  > automagically.

>> >

>> >  > > (Keep in mind that from an ASF standpoint the 'release' is

>> > source

>> >

>> >  > code - binaries are generated for convenience)

>> >

>> >  > >

>> >

>> >  > > Optional add-ons - these are things that CloudStack will

>> > function

>> >

>> >  > without. The prime example is the VMware SDK. CloudStack will

>> > run just

>> >

>> >  > fine without this proprietary piece of software. However, if you

>> > wish

>> >

>> >  > to have VMware support you must add this SDK on your own.

>> >

>> >  > >

>> >

>> >  > > IF removing something causes CloudStack to stop building -

>> > that needs

>> >

>> >  > to be brought up immediately.

>> >

>> >  > >

>> >

>> >  > > This page may help explain things more readily:

>> >

>> >  > > http://www.apache.org/legal/3party.html

>> >

>> >  > >

>> >

>> >  > >

>> >

>> >  > > On 06/13/2012 07:09 AM, Pradeep Soundararajan wrote:

>> >

>> >  > >> Hello Ewan/David,

>> >

>> >  > >>

>> >

>> >  > >> I have some questions:

>> >

>> >  > >>

>> >

>> >  > >> 1) After we remove these dependencies/.jar files how Apache

>> > will

>> >

>> >  > verify our code without these dependencies?

>> >

>> >  > >> 2) Are we going to remove the respective packages from our

>> > Java code

>> >

>> >  > as well (import org.xxxx.xxxxx)?

>> >

>> >  > >>

>> >

>> >  > >> Please share if we have a plan on this? Or Shall we setup a

>> > meeting

>> >

>> >  > to discuss about this plan.

>> >

>> >  > >>

>> >

>> >  > >> Thanks,

>> >

>> >  > >> Pradeep.S

>> >

>> >  > >>

>> >

>> >  > >> -----Original Message-----

>> >

>> >  > >> From: Pradeep Soundararajan

>> >

>> >  > >> Sent: Tuesday, June 12, 2012 7:42 PM

>> >

>> >  > >> To: David Nalley

>> >

>> >  > >> Cc: Sudha Ponnaganti; Ewan Mellor; Frank Zhang

>> >

>> >  > >> Subject: RE: third party dep conversion from GPL to Apache

>> > license

>> >

>> >  > or

>> >

>> >  > >> compatible

>> >

>> >  > >>

>> >

>> >  > >> Thanks David.  I have initiated this email based on the

>> > discussion I

>> >

>> >  > >> had today with Ewan and Sudha :)

>> >

>> >  > >>

>> >

>> >  > >> Let me see if I have understood your fourth step:

>> >

>> >  > >>

>> >

>> >  > >> 1) Build the source with all the necessary dependencies.

>> >

>> >  > >> 2) Remove the dependencies and create a patch between Citrix

>> > code

>> >

>> >  > and Apache code.

>> >

>> >  > >> 3) Apply the patch on top of Apache code (kind of customer

>> > build

>> >

>> >  > verification).

>> >

>> >  > >> 4) Try to Generate a Customer verification build for the

>>validation.

>> >

>> >  > >>

>> >

>> >  > >> Please correct me if I am wrong...

>> >

>> >  > >>

>> >

>> >  > >> Thanks,

>> >

>> >  > >> Pradeep.S

>> >

>> >  > >>

>> >

>> >  > >>

>> >

>> >  > >> -----Original Message-----

>> >

>> >  > >> From: David Nalley [mailto:david.nalley@citrix.com]<mailto:[mailto:david.nalley@citrix.com]>

>> > <mailto:[mailto:david.nalley@citrix.com]>

>> >

>> >  > >> Sent: Tuesday, June 12, 2012 6:27 PM

>> >

>> >  > >> To: Pradeep Soundararajan

>> >

>> >  > >> Cc: Sudha Ponnaganti; Ewan Mellor; Frank Zhang

>> >

>> >  > >> Subject: Re: third party dep conversion from GPL to Apache

>> > license

>> >

>> >  > or

>> >

>> >  > >> compatible

>> >

>> >  > >>

>> >

>> >  > >> Couple of comments:

>> >

>> >  > >>

>> >

>> >  > >> Please make sure you start discussing what you are planning

>> > to do

>> >

>> >  > >> on-list. People hate surprises. Make it very granular - give

>> > people

>> >

>> >  > >> the option to object (most likely they will not)

>> >

>> >  > >>

>> >

>> >  > >> Second: MIT and GPL won't work (and whoever so licensed

>> > probably

>> >

>> >  > needs a mental exam) MIT or GPL will work with no issues.

>> >

>> >  > >>

>> >

>> >  > >> Third. Not everything in the source repo is in source code

>> > form

>> > -

>> >

>> >  > for

>> >

>> >  > >> instance jnetpcap is in deps/cloud-jnetpcap.jar

>> >

>> >  > >>

>> >

>> >  > >> Fourth: We need to keep in mind that we have to produce

>> >

>> >  > documentation on how to build this with all of the necessary

>> >

>> >  > dependencies from source (e.g. not build into RPMs where we can

>> > just

>> >

>> >  > add a Requires: but by actually calling ant build-all as

>> > Apache's

>> >

>> >  > release artifacts are source tarballs not working binaries.

>> >

>> >  > >>

>> >

>> >  > >> --David

>> >

>> >  > >>

>> >

>> >  > >> On 06/12/2012 07:49 AM, Pradeep Soundararajan wrote:

>> >

>> >  > >>> Thanks Sudha for forwarding this email.

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> Hi Ewan,

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> In my first level of investigation, I would propose the below:

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> 1)      Identify the list of GPL/LGPL files first and keep it

>>in

>> >

>> >  > >>> "remote_list.sh"

>> >

>> >  > >>>

>> >

>> >  > >>> 2)      Perform the Build1 and store it as "xxxx_withGPL.rpm"

>> >

>> >  > >>>

>> >

>> >  > >>> 3)      Perform the Build2 after calling remove_list and store

>>it

>> >

>> >  > as

>> >

>> >  > >>> "xxxx_withoutGPL.rpm"

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> Right now I have found the GPL_list (attached) which are

>> > part of

>> >

>> >  > GPL.

>> >

>> >  > >>> Some of them are part of MIT and GPL (MIT or GPL).  I hope

>> > these

>> >

>> >  > >>> files have to be removed as part of the dependencies remove

>>list.

>> >

>> >  > I

>> >

>> >  > >>> am not very sure if the build will get succeeded after we

>> > remove

>> >

>> >  > these list.

>> >

>> >  > >>> Have to experiment this.

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> I am unable to find any LGPL dependencies (JnetPcap à LGPLv3

>> > )

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> Please confirm is that what the requirement or am I missing

>> >

>> >  > anything?

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> Thanks,

>> >

>> >  > >>>

>> >

>> >  > >>> Pradeep.S

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> *From:*Sudha Ponnaganti

>> >

>> >  > >>> *Sent:* Tuesday, June 12, 2012 12:11 PM

>> >

>> >  > >>> *To:* Pradeep Soundararajan

>> >

>> >  > >>> *Subject:* FW: third party dep conversion from GPL to Apache

>> >

>> >  > license

>> >

>> >  > >>> or compatible

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> *From:*Kevin Kluge

>> >

>> >  > >>> *Sent:* Wednesday, May 16, 2012 9:55 PM

>> >

>> >  > >>> *To:* Sudha Ponnaganti; Ewan Mellor; Will Chan; Frank Zhang

>> >

>> >  > >>> *Cc:* David Nalley; Prachi Damle; Haroon Abdelrahman;

>> > Kedarnath

>> >

>> >  > >>> Poduri; Chiradeep Vittal; Alex Huang

>> >

>> >  > >>> *Subject:* third party dep conversion from GPL to Apache

>> > license or

>> >

>> >  > >>> compatible

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> We have to make progress on removing GPL and other non-ASF

>> >

>> >  > certified

>> >

>> >  > >>> dependencies.   I'd like to do this as part of Burbank.  This

>>is as

>> >

>> >  > >>> referenced at

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  >

>> >

>> http://confluence.cloudstack.org/display/dev/Moving+dependencies+to+A

>> >

>> >  > >>> S

>> >

>> >  > >>> F+approved+licenses

>> >

>> >  > >>>

>> >

>> >  > >>> Ewan, Will, Frank and I met to discuss.

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> Sudha/Hari, we need Pradeep to come in to help on this.

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> We need Pradeep to take a new branch off 3.0.x for purposes

>> > of

>> >

>> >  > removing

>> >

>> >  > >>> these deps.   I would suggest some name like "licensechanges"

>>or

>> >

>> >  > some

>> >

>> >  > >>> such thing.   For each of the following dependencies in the

>>third

>> >

>> >  > party

>> >

>> >  > >>> library, we need Pradeep to remove them from the source code

>> > then

>> >

>> >  > add

>> >

>> >  > >>> a dependency in the RPMs on what we need.  Pradeep should

>> > know what

>> >

>> >  > >>> this means, and Frank can give him guidance to help.  Things

>> > to do

>> >

>> >  > this with:

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> -          Mysql connector

>> >

>> >  > >>>

>> >

>> >  > >>> -          Paramiko

>> >

>> >  > >>>

>> >

>> >  > >>> -          Libvirt

>> >

>> >  > >>>

>> >

>> >  > >>> -          Hibernate (work with Prachi on this one, to

>>determine

>> >

>> >  > version)

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> We should also have Pradeep remove JnetPcap altogether.

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> Will: you need to do the jquery research.

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> Ram: can you appoint someone to look into Trilead SSH client.

>> > Per

>> >

>> >  > >>> the wiki page we need to replace it with JSch or Orion.

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> Guys, there were a lot of questions about GPL in dev

>>environment.

>> >

>> >  > In

>> >

>> >  > >>> general we may be OK on this.  Consider the following from

>> > Aapche

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> Can build tools be included in ASF distributions?

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> Many languages have developed an ecosystem of associated

>> > tools that

>> >

>> >  > >>> aid in the building of artifacts for distribution. While

>> > such tools

>> >

>> >  > >>> may not always be made available under an otherwise

>> > compatible

>> >

>> >  > >>> license, specific tools have been OK'ed for inclusion in

>> > Apache

>> >

>> >  > >>> distribution when used for that specific purpose.

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> The most important criteria to be included in this category

>> > is that

>> >

>> >  > >>> such tools are not customarily part of distributions of

>> > running

>> >

>> >  > code,

>> >

>> >  > >>> unless such deliverables include source anyway. Other

>> > criteria for

>> >

>> >  > >>> inclusion

>> >

>> >  > >>> include: having been around for years, being defacto

>> > standards in

>> >

>> >  > >>> their respective communities, being made available under are

>> > under

>> >

>> >  > "library"

>> >

>> >  > >>> or "lesser" licenses or otherwise containing an exception

>> > which

>> >

>> >  > >>> ensures that usage of this tool does not affect the license

>> > of the

>> >

>> >  > >>> code against which it is run.

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> To date, the following tools have been approved for such usage:

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>     The Autotools family of products, specifically:

>> >

>> >  > >>>

>> >

>> >  > >>>         Autoconf

>> >

>> >  > >>>

>> >

>> >  > >>>         Automake

>> >

>> >  > >>>

>> >

>> >  > >>>         Libtool

>> >

>> >  > >>>

>> >

>> >  > >>>         mkinstalldirs.sh

>> >

>> >  > >>>

>> >

>> >  > >>>     OCamlMakefile

>> >

>> >  > >>>

>> >

>> >  > >>>     setup.rb

>> >

>> >  > >>>

>> >

>> >  > >>

>> >

>> >  > >

>> >

>



RE: Discussion on Mysql connector

Posted by Rajesh Battala <ra...@citrix.com>.
In ClusterManagementImpl Class, there is a reference to the Exception classes in Mysql connector jar.
Mysql connector jar is removed by replacing those classes with the java.sql exception classes.

Thanks
Rajesh Battala

From: Pradeep Soundararajan [mailto:pradeep.soundararajan@citrix.com]
Sent: Monday, July 30, 2012 9:57 AM
To: cloudstack-dev@incubator.apache.org
Subject: Discussion on Mysql connector

Let me summarize this discussion.

As a part of third party licenses removal from ASF, here we have removed MYSQL connector binaries and its related dependencies since it is a part of GPL.

We have submitted the related patch already to ASF. “Review Request: [Enhancement] CS-15694: Remove MYSQL connector”

Please review, let us know if you have any concerns over removing this…

Thanks,
Pradeep.S

From: Ram Chinta
Sent: Saturday, July 28, 2012 12:18 AM
To: Pradeep Soundararajan; Kelven Yang; Rajesh Battala; Alex Huang; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan
Subject: RE: Discussion on Mysql connector

Pradeep – Can you take this thread to the apache dev list.

From: Pradeep Soundararajan
Sent: Friday, July 27, 2012 10:55 AM
To: Kelven Yang; Rajesh Battala; Alex Huang; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: RE: Discussion on Mysql connector

Resubmitted the patch. Please find the attachment…

Thanks,
Pradeep.S
CM related: http://wiki.cloudstack.org/display/gen/Configuration+Management

From: Kelven Yang
Sent: Friday, July 27, 2012 10:29 PM
To: Pradeep Soundararajan; Rajesh Battala; Alex Huang; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: Re: Discussion on Mysql connector

Pradeep,

Please change


 if (e instanceof SQLException || e instanceof SQLRecoverableException) {



To


 if (e instanceof SQLRecoverableException) {


We can't test generic SQLException here

Kelven


rom: Pradeep Soundararajan <pr...@citrix.com>>
Date: Friday, July 27, 2012 4:42 AM
To: Kelven Yang <ke...@citrix.com>>, Rajesh Battala <ra...@citrix.com>>, Alex Huang <Al...@citrix.com>>, David Nalley <Da...@citrix.com>>, Edison Su <Ed...@citrix.com>>
Cc: Ewan Mellor <Ew...@eu.citrix.com>>, Kevin Kluge <Ke...@citrix.com>>, Sudha Ponnaganti <su...@citrix.com>>, Frank Zhang <Fr...@citrix.com>>, Hariharan Sankaranarayanan <ha...@citrix.com>>, Will Chan <wi...@citrix.com>>, Ram Chinta <ra...@citrix.com>>
Subject: RE: Discussion on Mysql connector

Thanks Rajesh for taking up this…

FYI,

Patch has been submitted by Rajesh to cloudstack-dev: https://reviews.apache.org/r/6174/

Please review….

Thanks,
Pradeep.S
CM related: http://wiki.cloudstack.org/display/gen/Configuration+Management


From: Kelven Yang
Sent: Thursday, July 26, 2012 11:42 PM
To: Rajesh Battala; Alex Huang; Pradeep Soundararajan; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: Re: Discussion on Mysql connector

Don't do generic if-check, we need specific exception check here.

Kelven

From: Rajesh Battala <ra...@citrix.com>>
Date: Thursday, July 26, 2012 10:36 AM
To: Kelven Yang <ke...@citrix.com>>, Alex Huang <Al...@citrix.com>>, Pradeep Soundararajan <pr...@citrix.com>>, David Nalley <Da...@citrix.com>>, Edison Su <Ed...@citrix.com>>
Cc: Ewan Mellor <Ew...@eu.citrix.com>>, Kevin Kluge <Ke...@citrix.com>>, Sudha Ponnaganti <su...@citrix.com>>, Frank Zhang <Fr...@citrix.com>>, Hariharan Sankaranarayanan <ha...@citrix.com>>, Will Chan <wi...@citrix.com>>, Ram Chinta <ra...@citrix.com>>
Subject: RE: Discussion on Mysql connector

Actually the code that is throwing the error is

“ if (e instanceof  com.mysql.jdbc.CommunicationsException || e instanceof  com.mysql.jdbc.exceptions.jdbc4.Communic ationsException)  “



Both the exception class are from mysql connector jar.

com.mysql.jdbc.CommunicationsException Class can be replaced with java.sql.SQLException

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException Class can be replaced with java.sql.SQLRecoverableException.



But java.sql.SQLException is the base class for java.sql.SQLRecoverableException.





        [cid:image001.gif@01CD6BED.AA95D620] java.sql.SQLException<http://www.docjar.com/docs/api/java/sql/SQLException.html>

           [cid:image001.gif@01CD6BED.AA95D620] java.sql.SQLRecoverableException<http://www.docjar.com/docs/api/java/sql/SQLRecoverableException.html>

              [cid:image001.gif@01CD6BED.AA95D620] com.mysql.jdbc.exceptions.jdbc4.CommunicationsException




  [cid:image001.gif@01CD6BED.AA95D620] java.sql.SQLException<http://www.docjar.com/docs/api/java/sql/SQLException.html>
     [cid:image001.gif@01CD6BED.AA95D620] com.mysql.jdbc.CommunicationsException



we can have the single ‘if’ check for the Type exception is of java.sql.SQLException and return True.



Thanks

Rajesh Battala

From: Kelven Yang
Sent: Thursday, July 26, 2012 10:55 PM
To: Alex Huang; Pradeep Soundararajan; Rajesh Battala; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: Re: Discussion on Mysql connector

In this case , OR is not needed. (obvious, isn't it? :-) )

Kelven

From: Alex Huang <Al...@citrix.com>>
Date: Thursday, July 26, 2012 10:18 AM
To: Pradeep Soundararajan <pr...@citrix.com>>, Kelven Yang <ke...@citrix.com>>, Rajesh Battala <ra...@citrix.com>>, David Nalley <Da...@citrix.com>>, Edison Su <Ed...@citrix.com>>
Cc: Ewan Mellor <Ew...@eu.citrix.com>>, Kevin Kluge <Ke...@citrix.com>>, Sudha Ponnaganti <su...@citrix.com>>, Frank Zhang <Fr...@citrix.com>>, Hariharan Sankaranarayanan <ha...@citrix.com>>, Will Chan <wi...@citrix.com>>, Ram Chinta <ra...@citrix.com>>
Subject: RE: Discussion on Mysql connector


I've found Mysql updates the error code appropriately in the error cases we handle in the dao code but if SqlRecoverableException works too, then it’s fine.



I have a separate question.  Why is the following condition ORed?  Isn’t it the same exception check?



>> if (e instanceof java.sql.SQLRecoverableException || e instanceof

>> java.sql.SQLRecoverableException) {

>>                           return true;

>>             }



I echo Dave’s email about moving this to cloudstack-dev.  Might be a little hard to do with a long email chain but we should summarize and announce what we’re doing.



--Alex


From: Pradeep Soundararajan
Sent: Thursday, July 26, 2012 10:13 AM
To: Kelven Yang; Alex Huang; Rajesh Battala; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: RE: Discussion on Mysql connector


Thanks Kelven for the confirmation..



So I should be replacing all the references (mysql) with whatever Rajesh suggested in case I found a similar error…



Thanks,

Pradeep.S



-----Original Message-----
From: Kelven Yang
Sent: Thursday, July 26, 2012 10:39 PM
To: Alex Huang; Pradeep Soundararajan; Rajesh Battala; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: Re: Discussion on Mysql connector



Not sure if error code from JDBC driver is reliable, Rajesh's suggestion works better Kelven



On 7/26/12 10:04 AM, "Alex Huang" <Al...@citrix.com>> wrote:



>Kelven,

>

>You should take this.  I think you have to replace the instance check

>with a check on the error code.  We can't reference mysql specific

>classes in our code.

>

>--Alex

>

>> -----Original Message-----

>> From: Pradeep Soundararajan

>> Sent: Thursday, July 26, 2012 9:59 AM

>> To: Rajesh Battala; David Nalley; Edison Su; Alex Huang; Kelven Yang

>> Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang;

>> Hariharan Sankaranarayanan; Will Chan; Ram Chinta

>> Subject: RE: Discussion on Mysql connector

>>

>> +Edison.

>>

>> Thanks Rajesh for the quick response.

>>

>> All our experts are here, we will wait for their reply  or else we

>>can even  move this discussion to cloudstack-dev as per David

>>suggestion by tomorrow.

>>

>> Thanks,

>> Pradeep.S

>>

>>

>> -----Original Message-----

>> From: Rajesh Battala

>> Sent: Thursday, July 26, 2012 10:04 PM

>> To: David Nalley

>> Cc: Pradeep Soundararajan; Alex Huang; Ewan Mellor; Kevin Kluge;

>>Sudha  Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan;

>>Ram Chinta;  Kelven Yang

>> Subject: RE: Discussion on Mysql connector

>>

>> Hi Pradeep,

>>

>> You can replace those lines with these code

>>

>> "

>> if (e instanceof java.sql.SQLRecoverableException || e instanceof

>> java.sql.SQLRecoverableException) {

>>                           return true;

>>             }

>> "

>> As we had removed the mysql connector jar

>>"com.mysql.jdbc.exceptions.jdbc4.CommunicationsException" class is not

>>available. Instead of that class we can use the class

>>"java.sql.SQLRecoverableException" for verifying whether its sql

>>exception  or not.  This class

>>"com.mysql.jdbc.exceptions.jdbc4.CommunicationsException" extends from

>>java.sql.SQLRecoverableException class from the doc

>>http://www.docjar.com/docs/api/com/mysql/jdbc/exceptions/jdbc4/Comm

>> unicationsException.html

>>

>> I had replaced it locally and tested its working fine.

>>

>> Please correct me if am wrong.

>>

>> Thanks

>> Rajesh Battala

>>

>>

>> -----Original Message-----

>> From: David Nalley [mailto:david.nalley@citrix.com]<mailto:[mailto:david.nalley@citrix.com]>

>> Sent: Thursday, July 26, 2012 9:14 PM

>> To: Rajesh Battala

>> Cc: Pradeep Soundararajan; Alex Huang; Ewan Mellor; Kevin Kluge;

>>Sudha  Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan;

>>Ram Chinta;  Kelven Yang

>> Subject: Re: Discussion on Mysql connector

>>

>> Please move this discussion to cloudstack-dev

>>

>> On 07/26/2012 11:29 AM, Rajesh Battala wrote:

>> > Hi Pradeep,

>> >

>> > Am looking into the issue now. Will let you know the result.

>> >

>> > Thanks

>> >

>> > Rajesh Battala

>> >

>> > *From:*Pradeep Soundararajan

>> > *Sent:* Thursday, July 26, 2012 8:50 PM

>> > *To:* Alex Huang; Ewan Mellor; Kevin Kluge; David Nalley

>> > *Cc:* Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan;

>> > Will Chan; Ram Chinta; Kelven Yang; Rajesh Battala

>> > *Subject:* RE: Discussion on Mysql connector

>> >

>> > deps/cloud-mysql-connector-java-5.1.7-bin

>> >

>> > awsapi-lib/mysql-connector-java-5.1.7-bin

>> >

>> > cloudbridge-lib/mysql-connector-java-5.1.7-bin

>> >

>> > I really need a help from any Java developers. When I tried

>> > removing the first one, if gave me some compilation error (dependency error).

>> >

>> > compile-server:

>> >

>> >      [mkdir] Created dir:

>> > /home/pradeep-ubuntu/workspaces/cloudstack-oss/target/classes/cloud

>> > -

>> se

>> > rver.jar

>> >

>> >       [echo] Compiling

>> > /home/pradeep-ubuntu/workspaces/cloudstack-oss/server/src

>> >

>> >      [javac] Compiling 832 source files to

>> > /home/pradeep-ubuntu/workspaces/cloudstack-oss/target/classes/cloud

>> > -

>> se

>> > rver.jar

>> >

>> >      [javac]

>> > /home/pradeep-ubuntu/workspaces/cloudstack-

>> oss/server/src/com/cloud/cluster/ClusterManagerImpl.java:800:

>> > package com.mysql.jdbc does not exist

>> >

>> >      [javac]             if (e instanceof

>> > com.mysql.jdbc.CommunicationsException || e instanceof

>> > com.mysql.jdbc.exceptions.jdbc4.CommunicationsException) {

>> >

>> >      [javac]                                            ^

>> >

>> >      [javac]

>> > /home/pradeep-ubuntu/workspaces/cloudstack-

>> oss/server/src/com/cloud/cluster/ClusterManagerImpl.java:800:

>> > package com.mysql.jdbc.exceptions.jdbc4 does not exist

>> >

>> >      [javac]             if (e instanceof

>> > com.mysql.jdbc.CommunicationsException || e instanceof

>> > com.mysql.jdbc.exceptions.jdbc4.CommunicationsException) {

>> >

>> >

>> > [javac]

>> >                                                       ^

>> >

>> >      [javac] Note: Some input files use or override a deprecated API.

>> >

>> >      [javac] Note: Recompile with -Xlint:deprecation for details.

>> >

>> >      [javac] Note: Some input files use unchecked or unsafe

>>operations.

>> >

>> >      [javac] Note: Recompile with -Xlint:unchecked for details.

>> >

>> >      [javac] 2 errors

>> >

>> > Please let me know if someone helping me to fix all of these

>> > dependency errors or guide me how to go ahead?

>> >

>> > Thanks,

>> >

>> > Pradeep.S

>> >

>> > /3P deps:

>> > http://wiki.cloudstack.org/display/gen/Third+party+dependencies/

>> >

>> > *From:*Alex Huang

>> > *Sent:* Thursday, July 26, 2012 4:04 PM

>> > *To:* Pradeep Soundararajan; Ewan Mellor; Kevin Kluge; David Nalley

>> > *Cc:* Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan;

>> > Will Chan; Ram Chinta; Kelven Yang

>> > *Subject:* RE: Discussion on Mysql connector

>> >

>> > Ewan¹s email includes what to do on mysql connector.  CloudStack

>> > doesn¹t need it during build.  It only needs it during run-time so

>> > as long as there¹s a dependency on it in the RPM, we¹re fine with

>> > removing it from the source tree.  Should be straight-forward.

>> >

>> > --Alex

>> >

>> > *From:*Pradeep Soundararajan

>> > *Sent:* Thursday, July 26, 2012 12:36 AM

>> > *To:* Ewan Mellor; Kevin Kluge; David Nalley; Alex Huang

>> > *Cc:* Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan;

>> > Will Chan; Ram Chinta; Kelven Yang

>> > *Subject:* Discussion on Mysql connector

>> >

>> > Now, let me start the discussion on MYSQL connector.

>> >

>> > Component            License       Comment

>> >                             Status / Actions

>> >

>> > MySQL Connector/J    GPL 2.0       Remove or obtain a commercial

>>license

>> > http://svn.apache.org/repos/asf/apr/apr/trunk/README. Needs

>> investigation.

>> >

>> > It looks like this is the biggest stuff. Could you please let me

>> > know if someone has started the investigation alreadyŠ

>> >

>> > Thanks,

>> >

>> > Pradeep.S

>> >

>> > /3P deps:/

>> > /http://wiki.cloudstack.org/display/gen/Third+party+dependencies/

>> >

>> > *From:*Ewan Mellor

>> > *Sent:* Thursday, June 14, 2012 6:09 AM

>> > *To:* David Nalley; Pradeep Soundararajan

>> > *Cc:* Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan

>> > *Subject:* RE: third party dep conversion from GPL to Apache

>> > license or compatible

>> >

>> > [cc Hari, who wasn't at the company when we started this

>> > discussion!]

>> >

>> > As far as I am aware, we've done the analysis on which bits need to

>> > be looked at.  That was in Kevin's email, except we have since

>> > added the VMware SDK to the list:

>> >

>> > -Mysql connector

>> >

>> > -Paramiko

>> >

>> > -Libvirt

>> >

>> > -Hibernate (work with Prachi on this one, to determine version)

>> >

>> > -remove JnetPcap altogether

>> >

>> > -VMware SDK

>> >

>> > Pradeep, please look at these ones first.  (If any more come up in

>> > the meantime, we can worry about those later.)

>> >

>> > For each one of these, please start a thread on the cloudstack-dev

>> > mailing list saying why you want to remove them, and what you're

>> > going to do.  You should be the one to do this, because I want you

>> > to be more visible in the community so that you can earn committer status.

>> >

>> > I'll write some notes for the things that I know -- I expect you to

>> > flesh this out a bit, and check that my facts are right before you

>> > send, because I haven't checked these myself.

>> >

>> > 1.JnetPcap: only present in the tree in binary form, only used by

>> > deprecated component (dhcplistener).  Plan: remove it,

>> > dhcplistener, and any build components.

>> >

>> > 2.VMware SDK: Needed for VMware support, should be possible to do

>> > without it otherwise.  Plan: make it possible to turn VMware

>> > support on, as an option in the build.  Don't build any of the

>> > VMware modules unless that option is turned on.  Document that

>> > option.  Remove the SDK from the tree (if it's there).  Make the

>> > Citrix build have the

>>option

>> turned on.

>> >

>> > 3.Libvirt: As for the VMware SDK, only replace "VMware" with "KVM".

>> > Except in this case, because libvirt is open-source (it's not just

>> > Apache licensed) then the preference will probably be to have the

>> > KVM option turned on by default, and then refer to libvirt as a

>> > dependency of the RPMs / debs.  That is a question for the

>> > community.  I don't care, so whichever option causes the least

>> > anger.  The Citrix build will turn this on, whichever way it gets managed by Apache.

>> >

>> > 4.Paramiko: Don't know whether this is optional or required.  You

>> > will have to check (or maybe someone else can chime in).

>> >

>> > 5.Hibernate: Check with Prachi what she wants to do.

>> >

>> > 6.MySQL connector: Required by CloudStack, but we can't ship it, so

>> > it becomes a compulsory system dependency.  Document the dependency

>> for

>> > the build, remove any MySQL code from our tree.  Update the RPMs /

>> > debs to refer to it as a dependency.

>> >

>> > Thanks for this, Pradeep.  Please let us know if you have any

>>questions.

>> >

>> > Looking at all that text, it looks like it would be good to copy

>> > this into a Confluence page so that we can track progress.  Please do that.

>> >

>> > Thanks,

>> >

>> >

>> > Ewan.

>> >

>> >  > -----Original Message-----

>> >

>> >  > From: David Nalley [mailto:david.nalley@citrix.com]<mailto:[mailto:david.nalley@citrix.com]>

>> > <mailto:[mailto:david.nalley@citrix.com]>

>> >

>> >  > Sent: Wednesday, June 13, 2012 3:20 PM

>> >

>> >  > To: Pradeep Soundararajan

>> >

>> >  > Cc: Ewan Mellor; Sudha Ponnaganti; Frank Zhang

>> >

>> >  > Subject: Re: third party dep conversion from GPL to Apache

>> > license or

>> >

>> >  > compatible

>> >

>> >  >

>> >

>> >  > It is indeed. I'd start with something 'small' and deprecated -

>> > like

>> >

>> >  > jnetpcap - Edison says dhcplistener is deprecated - we should

>> > remove

>> >

>> >  > that code and jnetpcap - start with a discussion on the list

>> > about

>> >

>> >  > removing it, along with a 2 sentence 'how' you plan on doing it.

>> > and

>> >

>> >  > then come back to the list with patches for so doing.

>> >

>> >  >

>> >

>> >  > --David

>> >

>> >  >

>> >

>> >  > On 06/13/2012 01:12 PM, Pradeep Soundararajan wrote:

>> >

>> >  > > Thanks David for the reply...It looks like huge amount of work

>> > :)

>> >

>> >  > >

>> >

>> >  > > It seems one should have clear understanding on CloudStack

>> > system in

>> >

>> >  > order to list the dependencies and its details (sys req and

>> > optional

>> >

>> >  > add-ons).

>> >

>> >  > >

>> >

>> >  > > Since I am a new comer to this project what would you suggest

>> > me to

>> >

>> >  > achieve this. Please share if you have any plans in your mind?

>> >

>> >  > >

>> >

>> >  > > Thanks,

>> >

>> >  > > Pradeep.S

>> >

>> >  > >

>> >

>> >  > > -----Original Message-----

>> >

>> >  > > From: David Nalley [mailto:david.nalley@citrix.com]<mailto:[mailto:david.nalley@citrix.com]>

>> > <mailto:[mailto:david.nalley@citrix.com]>

>> >

>> >  > > Sent: Wednesday, June 13, 2012 7:48 PM

>> >

>> >  > > To: Pradeep Soundararajan

>> >

>> >  > > Cc: Ewan Mellor; Sudha Ponnaganti; Frank Zhang

>> >

>> >  > > Subject: Re: third party dep conversion from GPL to Apache

>> > license or

>> >

>> >  > compatible

>> >

>> >  > >

>> >

>> >  > > So the idea is this:

>> >

>> >  > >

>> >

>> >  > > Apache CloudStack's source repo should contain onl

>> > ASL-licensed code

>> >

>> >  > or ASL-compatible code. That is the body of code that actually

>> > gets

>> >

>> >  > released, and it must be releasable under the ASL.

>> >

>> >  > >

>> >

>> >  > > There are exceptions to this and they fall into two categories:

>> >

>> >  > >

>> >

>> >  > > System requirements

>> >

>> >  > > and

>> >

>> >  > > Optional Add-ons

>> >

>> >  > >

>> >

>> >  > > System requirements - these are things that are required to

>> > run

>> >

>> >  > CloudStack. In general these should be as minimal as possible.

>> > The

>> >

>> >  > delineation here is that CloudStack will not function without

>> > the

>> >

>> >  > system requirements. So currently a MySQL database and MySQL

>> > java

>> >

>> >  > connector are system requirements. But we can't include either

>> > in

>> >

>> >  > Apache CloudStack's code base, but we can document the

>> > requirement and

>> >

>> >  > even include the requirement in our RPMs so the packages are

>> > installed

>> >

>> >  > automagically.

>> >

>> >  > > (Keep in mind that from an ASF standpoint the 'release' is

>> > source

>> >

>> >  > code - binaries are generated for convenience)

>> >

>> >  > >

>> >

>> >  > > Optional add-ons - these are things that CloudStack will

>> > function

>> >

>> >  > without. The prime example is the VMware SDK. CloudStack will

>> > run just

>> >

>> >  > fine without this proprietary piece of software. However, if you

>> > wish

>> >

>> >  > to have VMware support you must add this SDK on your own.

>> >

>> >  > >

>> >

>> >  > > IF removing something causes CloudStack to stop building -

>> > that needs

>> >

>> >  > to be brought up immediately.

>> >

>> >  > >

>> >

>> >  > > This page may help explain things more readily:

>> >

>> >  > > http://www.apache.org/legal/3party.html

>> >

>> >  > >

>> >

>> >  > >

>> >

>> >  > > On 06/13/2012 07:09 AM, Pradeep Soundararajan wrote:

>> >

>> >  > >> Hello Ewan/David,

>> >

>> >  > >>

>> >

>> >  > >> I have some questions:

>> >

>> >  > >>

>> >

>> >  > >> 1) After we remove these dependencies/.jar files how Apache

>> > will

>> >

>> >  > verify our code without these dependencies?

>> >

>> >  > >> 2) Are we going to remove the respective packages from our

>> > Java code

>> >

>> >  > as well (import org.xxxx.xxxxx)?

>> >

>> >  > >>

>> >

>> >  > >> Please share if we have a plan on this? Or Shall we setup a

>> > meeting

>> >

>> >  > to discuss about this plan.

>> >

>> >  > >>

>> >

>> >  > >> Thanks,

>> >

>> >  > >> Pradeep.S

>> >

>> >  > >>

>> >

>> >  > >> -----Original Message-----

>> >

>> >  > >> From: Pradeep Soundararajan

>> >

>> >  > >> Sent: Tuesday, June 12, 2012 7:42 PM

>> >

>> >  > >> To: David Nalley

>> >

>> >  > >> Cc: Sudha Ponnaganti; Ewan Mellor; Frank Zhang

>> >

>> >  > >> Subject: RE: third party dep conversion from GPL to Apache

>> > license

>> >

>> >  > or

>> >

>> >  > >> compatible

>> >

>> >  > >>

>> >

>> >  > >> Thanks David.  I have initiated this email based on the

>> > discussion I

>> >

>> >  > >> had today with Ewan and Sudha :)

>> >

>> >  > >>

>> >

>> >  > >> Let me see if I have understood your fourth step:

>> >

>> >  > >>

>> >

>> >  > >> 1) Build the source with all the necessary dependencies.

>> >

>> >  > >> 2) Remove the dependencies and create a patch between Citrix

>> > code

>> >

>> >  > and Apache code.

>> >

>> >  > >> 3) Apply the patch on top of Apache code (kind of customer

>> > build

>> >

>> >  > verification).

>> >

>> >  > >> 4) Try to Generate a Customer verification build for the

>>validation.

>> >

>> >  > >>

>> >

>> >  > >> Please correct me if I am wrong...

>> >

>> >  > >>

>> >

>> >  > >> Thanks,

>> >

>> >  > >> Pradeep.S

>> >

>> >  > >>

>> >

>> >  > >>

>> >

>> >  > >> -----Original Message-----

>> >

>> >  > >> From: David Nalley [mailto:david.nalley@citrix.com]<mailto:[mailto:david.nalley@citrix.com]>

>> > <mailto:[mailto:david.nalley@citrix.com]>

>> >

>> >  > >> Sent: Tuesday, June 12, 2012 6:27 PM

>> >

>> >  > >> To: Pradeep Soundararajan

>> >

>> >  > >> Cc: Sudha Ponnaganti; Ewan Mellor; Frank Zhang

>> >

>> >  > >> Subject: Re: third party dep conversion from GPL to Apache

>> > license

>> >

>> >  > or

>> >

>> >  > >> compatible

>> >

>> >  > >>

>> >

>> >  > >> Couple of comments:

>> >

>> >  > >>

>> >

>> >  > >> Please make sure you start discussing what you are planning

>> > to do

>> >

>> >  > >> on-list. People hate surprises. Make it very granular - give

>> > people

>> >

>> >  > >> the option to object (most likely they will not)

>> >

>> >  > >>

>> >

>> >  > >> Second: MIT and GPL won't work (and whoever so licensed

>> > probably

>> >

>> >  > needs a mental exam) MIT or GPL will work with no issues.

>> >

>> >  > >>

>> >

>> >  > >> Third. Not everything in the source repo is in source code

>> > form

>> > -

>> >

>> >  > for

>> >

>> >  > >> instance jnetpcap is in deps/cloud-jnetpcap.jar

>> >

>> >  > >>

>> >

>> >  > >> Fourth: We need to keep in mind that we have to produce

>> >

>> >  > documentation on how to build this with all of the necessary

>> >

>> >  > dependencies from source (e.g. not build into RPMs where we can

>> > just

>> >

>> >  > add a Requires: but by actually calling ant build-all as

>> > Apache's

>> >

>> >  > release artifacts are source tarballs not working binaries.

>> >

>> >  > >>

>> >

>> >  > >> --David

>> >

>> >  > >>

>> >

>> >  > >> On 06/12/2012 07:49 AM, Pradeep Soundararajan wrote:

>> >

>> >  > >>> Thanks Sudha for forwarding this email.

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> Hi Ewan,

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> In my first level of investigation, I would propose the below:

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> 1)      Identify the list of GPL/LGPL files first and keep it

>>in

>> >

>> >  > >>> "remote_list.sh"

>> >

>> >  > >>>

>> >

>> >  > >>> 2)      Perform the Build1 and store it as "xxxx_withGPL.rpm"

>> >

>> >  > >>>

>> >

>> >  > >>> 3)      Perform the Build2 after calling remove_list and store

>>it

>> >

>> >  > as

>> >

>> >  > >>> "xxxx_withoutGPL.rpm"

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> Right now I have found the GPL_list (attached) which are

>> > part of

>> >

>> >  > GPL.

>> >

>> >  > >>> Some of them are part of MIT and GPL (MIT or GPL).  I hope

>> > these

>> >

>> >  > >>> files have to be removed as part of the dependencies remove

>>list.

>> >

>> >  > I

>> >

>> >  > >>> am not very sure if the build will get succeeded after we

>> > remove

>> >

>> >  > these list.

>> >

>> >  > >>> Have to experiment this.

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> I am unable to find any LGPL dependencies (JnetPcap à LGPLv3

>> > )

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> Please confirm is that what the requirement or am I missing

>> >

>> >  > anything?

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> Thanks,

>> >

>> >  > >>>

>> >

>> >  > >>> Pradeep.S

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> *From:*Sudha Ponnaganti

>> >

>> >  > >>> *Sent:* Tuesday, June 12, 2012 12:11 PM

>> >

>> >  > >>> *To:* Pradeep Soundararajan

>> >

>> >  > >>> *Subject:* FW: third party dep conversion from GPL to Apache

>> >

>> >  > license

>> >

>> >  > >>> or compatible

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> *From:*Kevin Kluge

>> >

>> >  > >>> *Sent:* Wednesday, May 16, 2012 9:55 PM

>> >

>> >  > >>> *To:* Sudha Ponnaganti; Ewan Mellor; Will Chan; Frank Zhang

>> >

>> >  > >>> *Cc:* David Nalley; Prachi Damle; Haroon Abdelrahman;

>> > Kedarnath

>> >

>> >  > >>> Poduri; Chiradeep Vittal; Alex Huang

>> >

>> >  > >>> *Subject:* third party dep conversion from GPL to Apache

>> > license or

>> >

>> >  > >>> compatible

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> We have to make progress on removing GPL and other non-ASF

>> >

>> >  > certified

>> >

>> >  > >>> dependencies.   I'd like to do this as part of Burbank.  This

>>is as

>> >

>> >  > >>> referenced at

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  >

>> >

>> http://confluence.cloudstack.org/display/dev/Moving+dependencies+to+A

>> >

>> >  > >>> S

>> >

>> >  > >>> F+approved+licenses

>> >

>> >  > >>>

>> >

>> >  > >>> Ewan, Will, Frank and I met to discuss.

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> Sudha/Hari, we need Pradeep to come in to help on this.

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> We need Pradeep to take a new branch off 3.0.x for purposes

>> > of

>> >

>> >  > removing

>> >

>> >  > >>> these deps.   I would suggest some name like "licensechanges"

>>or

>> >

>> >  > some

>> >

>> >  > >>> such thing.   For each of the following dependencies in the

>>third

>> >

>> >  > party

>> >

>> >  > >>> library, we need Pradeep to remove them from the source code

>> > then

>> >

>> >  > add

>> >

>> >  > >>> a dependency in the RPMs on what we need.  Pradeep should

>> > know what

>> >

>> >  > >>> this means, and Frank can give him guidance to help.  Things

>> > to do

>> >

>> >  > this with:

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> -          Mysql connector

>> >

>> >  > >>>

>> >

>> >  > >>> -          Paramiko

>> >

>> >  > >>>

>> >

>> >  > >>> -          Libvirt

>> >

>> >  > >>>

>> >

>> >  > >>> -          Hibernate (work with Prachi on this one, to

>>determine

>> >

>> >  > version)

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> We should also have Pradeep remove JnetPcap altogether.

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> Will: you need to do the jquery research.

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> Ram: can you appoint someone to look into Trilead SSH client.

>> > Per

>> >

>> >  > >>> the wiki page we need to replace it with JSch or Orion.

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> Guys, there were a lot of questions about GPL in dev

>>environment.

>> >

>> >  > In

>> >

>> >  > >>> general we may be OK on this.  Consider the following from

>> > Aapche

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> Can build tools be included in ASF distributions?

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> Many languages have developed an ecosystem of associated

>> > tools that

>> >

>> >  > >>> aid in the building of artifacts for distribution. While

>> > such tools

>> >

>> >  > >>> may not always be made available under an otherwise

>> > compatible

>> >

>> >  > >>> license, specific tools have been OK'ed for inclusion in

>> > Apache

>> >

>> >  > >>> distribution when used for that specific purpose.

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> The most important criteria to be included in this category

>> > is that

>> >

>> >  > >>> such tools are not customarily part of distributions of

>> > running

>> >

>> >  > code,

>> >

>> >  > >>> unless such deliverables include source anyway. Other

>> > criteria for

>> >

>> >  > >>> inclusion

>> >

>> >  > >>> include: having been around for years, being defacto

>> > standards in

>> >

>> >  > >>> their respective communities, being made available under are

>> > under

>> >

>> >  > "library"

>> >

>> >  > >>> or "lesser" licenses or otherwise containing an exception

>> > which

>> >

>> >  > >>> ensures that usage of this tool does not affect the license

>> > of the

>> >

>> >  > >>> code against which it is run.

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>> To date, the following tools have been approved for such usage:

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>

>> >

>> >  > >>>     The Autotools family of products, specifically:

>> >

>> >  > >>>

>> >

>> >  > >>>         Autoconf

>> >

>> >  > >>>

>> >

>> >  > >>>         Automake

>> >

>> >  > >>>

>> >

>> >  > >>>         Libtool

>> >

>> >  > >>>

>> >

>> >  > >>>         mkinstalldirs.sh

>> >

>> >  > >>>

>> >

>> >  > >>>     OCamlMakefile

>> >

>> >  > >>>

>> >

>> >  > >>>     setup.rb

>> >

>> >  > >>>

>> >

>> >  > >>

>> >

>> >  > >

>> >

>