Hi James,
  I’m sorry for my delay.  I think Nick’s guidance on the incubator issue 
applies if we were trying to make Jackcess a new Apache “top level project”.  
For the proposal of integrating Jackcess with POI, it looks like we’d have to 
at least go through the Incubator for the IP Clearance process [1].  I don’t 
know if we’d have to go through the full “sub-project” process [2].  I could 
very well be wrong, though.

Nick and others,
  Any other feedback to James’s other points or to my paragraph above?

      Best,

                 Tim


[1] http://incubator.apache.org/ip-clearance/index.html
[2] http://incubator.apache.org/incubation/Process_Description.html

From: James Ahlborn [mailto:[email protected]]
Sent: Sunday, May 10, 2015 9:08 PM
To: Nick Burch
Cc: POI Developers List; [email protected]
Subject: Re: Integrating Jackcess with POI?

this thread seemed to die off.  unsure where we are with all this.  sounds like 
it's rather unlikely that jackcess would qualify for incubator status due to 
its small size.

On Thu, Apr 30, 2015 at 11:04 PM, James Ahlborn 
<[email protected]<mailto:[email protected]>> wrote:

On Thu, Apr 30, 2015 at 5:12 PM, Nick Burch 
<[email protected]<mailto:[email protected]>> wrote:
On Thu, 30 Apr 2015, Allison, Timothy B. wrote:
We see advantages:
1) "It just makes sense" to have one centralized MSOffice parsing library
2)  Increasing public awareness of each other's projects
3) sparking more cross-project, well, inner-project, collaboration among the 
POI and Jackcess developers.

All of these make sense to me!
Some potential disadvantages:

1) From a use standpoint, current users of Jackcess would have to migrate their 
code (if we changed the namespace)

Whether the code came to POI, or into the incubator, the namespace would need 
to chance either way. However, it should be possible to produce a compatibility 
jar with @deprecated classes extending from the renamed ones, to minimise the 
pain for users, either semi-manually, or possibly via some sort of dynamic 
class generation / invoking wizardry.

This seems possible after some superficial thought, however i feel like it may 
end up running into some java limitations...

2) We'd have to redesign the maven build process to ant for Jackcess (not hard, 
I know).

Not necessarily. POI already has a few maven bits in the build, which ant calls 
out to. No reason why Jackcess couldn't be another

(At some point, we may find ourselves needing to move from Ant to Maven + quite 
a few custom maven plugins, but for now a hybrid approach works well for 
letting us do some nifty but very complex stuff in Ant for the build, whilst 
giving Maven poms for use in Maven land)
3) From an integration standpoint, Jackcess doesn't rely on POI at all so there 
would be no immediate decrease in source code/maintainability; we might find 
some areas, but we'd have to find them.

There's probably some utils we could share, but initially I'd expect the 
integration would be more user / committer than code
4) Further, Jackcess would be tied to POI's release schedule.

Maybe, maybe not. As an example, the Tomcat project has distributions of
Tomcat, Tomcat Connections, Tomcat Native Connector and Taglibs, all on
their own independent release cycles and packaging.

We'd probably just need to see how the communities gell'd/not, and decide from 
that

is that a near term thing, or would that require a large re-factor?  poi seems 
to currently be mostly one big jar.
In short, we'd break Jackcess for its users, add work for Jackcess and POI 
developers, and then have no immediate payoff from cleaner/less code or 
performance or anything else.

However, it'd gain wider use, and have a wider pool of potential developers

Do you think that's the case (at least regarding the wider use part)?  Do you 
think that renaming the classes and including the jackcess class in the poi jar 
is necessary to make that happen?  after all, both poi and jackcess are 
currently available from the central maven repository.  if jackcess was part of 
poi but did have its own release schedule, it would still be a separate jar in 
the central repository, just in a different group from where it is now.  if 
jackcess was listed in the poi documentation alongside the other modules, 
wouldn't that effectively achieve the same thing?
i could potentially see the wider pool of potential developers, but that could 
be achieved by sharing a repository but still keeping jackcess as a separate 
module without all the other changes.  as already mentioned, there's probably 
fairly little "common code" overlap.

As it stands, I fear that if you took a Jackcess proposal to the Apache 
Incubator with only one active developer, it would struggle. It could be worth 
checking with the experts though, on the 
[email protected]<mailto:[email protected]> list, to see what they 
suggest based on their past experiences

sounds like at the end of it, you don't think it'll actually happen anyway! :)

Nick


Reply via email to