Hugo,
As Rajani mentioned we are not packaging the sources with MSI installer, we
are telling to installer from where to download the dependencies.
Anyhow my question is, the MSI build is already part of separate build profile
("buildw") which is not build with default profile. So still we need to move it
to under noredist profile?
Damoder/
-----Original Message-----
From: Rajani Karuturi [mailto:[email protected]]
Sent: Wednesday, 9 July 2014 10:45 AM
To: [email protected]
Cc: David Nalley; Koushik Das
Subject: Re: Review Request 23192: Adding Readme and run checkbox at the end of
the installation. Also installing mysql connector
Hi Hugo,
Even in case of windows installer, mysql-connector-java is mentioned in a
[spec] file. only difference being, it also mentions the download url as
windows doesn’t have a package repository and doesn’t know where to download
from.
It will not be part of the installer. The msi only tells where to download the
mysql connector jar from. It doesn’t include the jar itself.
When the user is installing cloudstack using the msi, the jar will be
downloaded from the location mentioned.
[spec] https://reviews.apache.org/r/23192/diff/#5
~Rajani
On 08-Jul-2014, at 7:25 pm, Hugo Trippaers
<[email protected]<mailto:[email protected]>> wrote:
Rajani,
That is why we renamed nonoss to noredist. It has to do with the policy of the
Apache Software Foundation regarding compatible licenses [1]. The problem in
this case is subtle, but there is a difference. The main point in the
discussion is so-called system dependencies. We know we need java, mysql and
the mysql-connector-java to be installed before we can install our packages.
This is what the dependency on mysql-connector-java in the spec file indicates.
Creating a package containing those source is actually including the items we
consider is going just a bit further and to a point where we concluded that it
is not inline with the apache policies. So it is perfectly alright to include a
popup in the installer that tells the users that he needs to install mysql,
java etc, but we can’t have an installed in the source that will do that for
the user as part of the installer.
What David proposes is a the middle ground where we can keep the installer in
the configured like this in the pom, but it can’t be in that standard build,
but only in the build that know we can’t redistribute (the noredist build). We
will never make the artifacts resulting from that build available, but other
entities can make them available. By specifying noredist on the build command
we can be reasonably sure that the builder has been informed that distribution
restrictions might apply on whatever it is he is doing.
Cheers,
Hugo
[1] http://www.apache.org/legal/resolved.html#category-x
On 8 jul. 2014, at 12:57, Rajani Karuturi
<[email protected]<mailto:[email protected]>> wrote:
I believe this has nothing to do with nonoss. If I understand it right, nonoss
modules are required for cloudstack to work with certain 3rd party stuff.
This one is just a helper to create a windows installer. It chose to use a mvn
command to create the installer instead of shell/bat script. It should work
with either nonoss or oss modules.
This is very similar to cloud.spec[1] we have which is used to create the rpm
and which already has mysql-connector-java already listed as required package.
I think the right way would be to create independent git repos for
deb/rpm/windows installers/packages.
In its current state, I don’t see it any different from other helper installer
scripts we already have.
[1]
https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;a=blob_plain;f=packaging/centos63/cloud.spec;hb=HEAD
~Rajani
On 08-Jul-2014, at 9:56 am, Damoder Reddy
<[email protected]<mailto:[email protected]><mailto:[email protected]>>
wrote:
Ok,
To clarify the windows MSI will not build in the default profile. I have
enabled a new profile "buildw" to build windows MSI installer which explicitly
we need to pass similar to nonoss?
Is that sufficient to make it nonoss or still we need to move it under nonoss
profile explicitly?
Thanks
Damoder/
-----Original Message-----
From: David Nalley [mailto:[email protected]]
Sent: Thursday, 3 July 2014 9:58 PM
To:
[email protected]<mailto:[email protected]><mailto:[email protected]>
Cc: Damoder Reddy; Koushik Das
Subject: Re: Review Request 23192: Adding Readme and run checkbox at the end of
the installation. Also installing mysql connector
On Thu, Jul 3, 2014 at 12:08 PM, Chip Childers
<[email protected]<mailto:[email protected]><mailto:[email protected]>>
wrote:
On Thu, Jul 03, 2014 at 03:14:30PM +0000, Leo Simons wrote:
It looks like that maven pom on windows _by default_ downloads and installs a
variety of non-apache-license (and/or non-mit/bsd/variant
license) software. That shouldnąt really happen. The principle is one of łleast
surprise˛: As a user or developer who does not RTFM, following the default
commands/tools/etc, you should end up with a more-or-less apache-licensed build
result (*) that you can redistribute the result under.
+1
But apache policy is that it is acceptable to provide scripts/build
tools/assistance to help those same users/developers do things that they want
to do. As long as they understand the legal situation they end up in.
I would recommend adding a "nonoss" maven profile that the developer/user has
to explicitly select in order to do those downloads. As long as that option is
described clearly, thatąs then ok. See
http://svn.apache.org/repos/asf/apr/apr/trunk/README
for an example of how to point out the license situation.
We already have the nonoss profile, so this is a pretty good fix for the
windows build issues noted above IMO.
Damoder/Koushik - please make this change.
Something similar is true by the way (IMHO, but as a project cloudstack can
definitely decide differently), for a possible MSI script. Making an MSI script
that prompts the user whether to download mysql at the point of install,
**clearly pointing out the license situation** if they choose to do so, seems
reasonable, and I personally would not object to shipping _that_ kind of script
as part of an apache source release.
+1 - that's a reasonable approach as well. Damoder / Koushik - what do
you think about this approach?
I like this approach. We have a number of things that aren't in the 'default'
build because of policy reasons. This is just another of them.
Finally, the _spirit_ behind the apache policies is that there should
be an option to use cloudstack with a license-compatible database
(say, postgres), even if most users will use mysql (just like most
people that use dbm with httpd will use berkely dbm, but you _can_
use something else). Itąs perhaps unfortunate that this isnąt
supported, but thatąs not apache policy, and given the license
situation of other system dependencies, I can imagine no-one here wants to make
it a priority.
Yeah, that would be nice... but somebody would have to decide that
they want to do that.
cheers,
Leo
PS: IANAL, but, a lot of this discussion is a bit beyond legal, and
is about choice/policy, and the policy is supposed to be based on
common sense much more than license stuff tends to be :)
Agreed - this is about policy not legality.