On 03/01/13 13:24, Fabian Christ wrote:
Hi,
just two things that come to my mind from the experiences we made with
importing the first code for Stanbol from the IKS project.
Do you know of the use of any third party libs that are either
a) not available via Maven central
b) licensed under terms that are not compatible with the Apache License,
2.0? (e.g. GPL)
For a): If libs are not available in Maven central we need to create
appropriate "-deps" packages that contain everything needed for the build.
Source releases of Marmotta are not allowed to include any binaries, like
JAR files. This can be a struggling point for the build process.
For b): Dealing with licensing issues can slow down the release process
tremendously. Knowing of modules which may by problematic before importing
them could make things easier.
Best,
- Fabian
I completely agree with Fabian that sorting licenses can slow down the
release. It's not something to leave until everything else is ready.
An Apache release is source code, normally a zip file. All this binary
stuff for maven is "just" convenient extras (and what the vast majority
of users actually use :-)
Looking at other projects can be very helpful. Pick a project - look in
their source code repository. NOTICE and LICENSE are easy to find -
they should be at the top of trunk.
The NOTICE file should be as short as possible, and include copyright
notices. The LICENSE file should have copies of all licenses.
For each dependency (binary), the licensing needs to be checked.
Usually, it's one of the common licenses and it's quite easy.
http://www.apache.org/legal/3party.html
You do need to be careful of variations (e.g. modified license text - we
had a few in Jena which were at first glance BSD-style but actually had
been rewritten a bit).
If any binaries produced repackage (redistribute) other systems, there
will need to be stuff done for that. For example, Jena redistributes
Xerces in the all-in-one zip download, so even though Xerces is ASL
there are some recursive copyrights to put in the NOTICE for the zip
download which are not there in the jena jar or source-release which
themselves use xerces by-POM but don't redistribute it.
For each piece of incorporated source code, both copyright and license
need to be noted. My experience is that this takes a bit more chasing
down than binaries.
All this legal stuff isn't zero effect but it's not as bad as it's
sometimes painted. Apache is just quite careful - indeed, having done
the legal side of a project, you'll look at some other places and tut a bit!
Andy
2013/1/3 Sergio Fernández <[email protected]>
Hi,
Now that INFRA-5610 [1] has been solved, before work over MARMOTTA-2 [2],
in the following days I'd like to discuss with all people what code we'll
import into Marmotta.
The idea is to have a milestone releasing LMF 2.4 this month, and then
move to Marmotta. But, as we asserted in the proposal [3], the whole LMF
will not be contributed to Marmotta; to focus the project, actually only
those parts that make up the "Linked Data Platform", that includes the
following modules:
* lmf-core
* lmf-sparql
* lmf-cache
* lmf-reasoner
* lmf-scheduler
* lmf-security
* lmf-ldpath
* lmf-versioning
* lmf-webapp
There are some generic libraries we may also include:
* ldpath
* sesame-tools
Plus some installation infrastructure:
* lmf-installer
* lmf-splash
Around that there are some Maven plugins:
* lmf-maven-plugin
* buildinfo-maven-plugin
* refpack-maven-plugin
And archetypes:
* lmf-archetype-module
* lmf-archetype-webapp
On top of that, the lmf client library is currently implemented in
different languages:
* lmf-client-java
* lmf-client-php
* lmf-client-js
Besides some refactorizations and reorganization, I consider all those
artifacts relevant for Marmotta.
For instance, all the media stuff would be out of the importation,
including:
* lmf-search
* lmf-social
* lmf-classifier
* lmf-stanbol
But I have doubts regarding some third-party tools:
* SKOSjs
* Module for Drupal
* Extension for Google/Open Refine
What do you think?
Cheers,
[1]
https://issues.apache.org/**jira/browse/INFRA-5610<https://issues.apache.org/jira/browse/INFRA-5610>
[2]
https://issues.apache.org/**jira/browse/MARMOTTA-2<https://issues.apache.org/jira/browse/MARMOTTA-2>
[3]
http://wiki.apache.org/**incubator/MarmottaProposal#**Initial_Source<http://wiki.apache.org/incubator/MarmottaProposal#Initial_Source>
--
Sergio Fernández