Sylvain Wallez wrote:
Richard S. Hall wrote:
<snip/>
Option #1:
org.apache.osgi.framework
org.apache.osgi.bundle
org.apache.osgi.service
...
Option #2:
org.apache.felix
org.apache.osgi.bundle
org.apache.osgi.service
And Option #3:
org.apache.felix.framework
org.apache.felix.bundle
org.apache.felix.service
org.apache.felix.other_subproject
This is the standard policy throughout the ASF with very few exceptions,
This is not a correct statement. There is no definative policy with
respect to package name enforcement at the ASF. Everyone is presuming
this but this is a convention that a portion, a subset of the java
projects at the ASF, have followed out of some consensus.
Question is who is to decide this standard? Is this the right forum?
It may very well be the right forum due to the importance of this
project with respect to cross project interop that an OSGi project at
the ASF brings forth. However we will loose our focus here if we try to
define ASF policies here.
This is a very important project in the sense that it could unit several
projects and lead to a means to combine the efforts of several ASF Java
projects. So yes package naming is important. However not all projects
are represented here.
the biggest one being AFAICS... ahem... the Directory project which
uses a lot of org.apache.* packages: asn1, ldap, authx, naming, etc.
Yep this is true we do not follow this convention at Directory and don't
feel that we should have to. Some of the reasons for our package naming
decisions stem from the fact that we were fromed from several projects
coming together like naming and the ldap server effort. Also we
understand that some projects don't belong in directory even though they
started there. Take the ASN.1 libraries which can be used by several
protocols. Eventually we can see this library moving off to a commons
or elsewhere.
Regardless of the intent we have not had an issue with package name
conflicts. There is no reason for us to get ahead of ourselves and
impose restrictions if there are no problems. When we have a problem we
can refactor the package names to find a solution. Time is better spent
confronting the problems we do have in front of us. We have that
agility and there is no reason to worry or excessivley plan ahead. It
is highly unlikely that we're going to have a package name conflict with
org.apache.osgi.
If we want to avoid name clashes in applications using several Apache
products and considering how fast the ASF is growing, projects should
put all their classes in the org.apache.{project-name} package.
Good that you're thinking about this but really how many conflicts have
you had to deal with till now. Let's encounter the problem first before
we devise a solution for it. Furthermore, this convention needs to be
galvanized officially as a standard before it's mandated across java
based effforts or upon unsuspecting incubator podlings. I have not seen
the ASF make any formal statment regarding package naming schemes.
Perhaps its time for one to be made to spare us the confusion.
Packdage names should not be about the technology the classes they
contain rely on, nor the specification they implement, but about the
project and community that writes these classes and cares about them.
Using another policy is IMO an open door to name clashes and doesn't
follow the ASF principle that community is more important than the code.
You see I like this statement and it makes sense in encapsulating
namespace branches based on the origins of packages. All I'm saying is
we need a formal body to decide these matters at the ASF for java based
projects. Although very appealing this does not account for every
concern associated with package name selection. There might be some
value in having package names express more than their origins. This is
a classic problem where people have to decide how to branch a namespace
and a formal body is required to decide this matter. The OID namespace
for example is one that had similar issues.
And if doing the renaming is an issue now that the code is in SVN, I
volunteer for doing the change ;-)
Thanks for volunteering but let's do this right instead of turning felix
into a project yoyo. If we do this let's do it once and for all with
everyone in agreement. Let's not get too far ahead of our selves here.
I'm not sure any changes need to happen immediately.
Let's just start focusing on the community and the technology so some
fresh air can waft through this project as opposed to these bike
shedding discussions. Let's put this on the back burner and look
towards a larger ASF panel that has representatives from all PMCs to
make the final call on a package naming standard *NOT* just a
recommended convention people can decide to follow or ignore.
Let's not tax this community with a greater ASF concern. Let's be
proactive though. Can you work with me to setup some panel of PMC
members where we can galvanize a policy? Some kind of java specific
panel at the ASF. Hopefully we can come up with something definative
together where all TLPs and their projects authoring java code can
conform to an official ASF standard.
Thanks,
Alex