You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by Daniel Fagerstrom <da...@nada.kth.se> on 2005/08/25 23:59:54 UTC

Adding bundles

Was: Re: kxml.jar

Didier Donsez wrote:
> Daniel Fagerstrom a écrit :
>> Didier Donsez wrote:
<snip/>
>>> http://www-adele.imag.fr/~donsez/dev/osgi/metadataparser/readme.html
>>> and for the demo
>>> http://www-adele.imag.fr/~donsez/dev/osgi/metadataparsertest/readme.html
>>>
>>> This bundle could join the Felix code base.
>> How is it related to the metatype service?
>>
> No relationship.
> But I used the MetadataParser to quickly implement a simple Metatype 
> service.
> The MetadataParser parses the XML document associated to the service.
> http://www-adele.imag.fr/~donsez/dev/osgi/metatype/readme.html

If your Metatype service is part of the offering ;) I think it would 
make a good addition to Felix.

                  --- o0o ---

But before we start to add bundles to Felix I think we need to discuss 
what policy we should have for adding bundles. Here are my opinions:

* As it is part of our charter to "implement, document, maintain, and 
support standard OSGi R4 services", we should in most cases accept code 
contributions for standard services as initial code base (as long as the 
legal issues are solved of course). For some services there might be 
several different approaches for the services, in such cases we need of 
course more discussion.

* Committers can add whatever bundle they want to their sandbox.

* Now we come to the complicated part: non standard bundles. One of the 
cool things with our project is that we have the goal to "provide a 
focal point for the open-source OSGi community to develop next 
generation enhancements to the core framework and act as a conduit for 
the open-source community to the OSGi Alliance". Fullfilling that 
requires IMO some focus, we should not let our project become a dumping 
ground for various half baked ideas and one man shows.

IMO a non standard bundle should only be accepted if it is a community 
effort, i.e. if a couple of community members takes part in discussions, 
design and implementation. We should also have vote about accepting the 
bundle.

The above might sound somewhat harsh but we have some rather bad 
experience from the Cocoon project on letting people add modules 
(blocks) whenever they feel like. After a number of years we have the 
following situation: http://svn.apache.org/repos/asf/cocoon/blocks/. 
Around 50 blocks of which only a handfull are actively maintained by the 
community. It is not that easy for a new user to evaluate which of all 
these blocks that they can rely on. And categorizing and removing blocks 
leads to community friction.

So IMO we should only add a bundle after that we have made sure it has 
real long term community support.

What do you think?

/Daniel

Re: Adding bundles

Posted by Niclas Hedhman <ni...@hedhman.org>.
On Friday 26 August 2005 05:59, Daniel Fagerstrom wrote:
> It is not that easy for a new user to evaluate which of all
> these blocks that they can rely on. And categorizing and removing blocks
> leads to community friction.
>
> So IMO we should only add a bundle after that we have made sure it has
> real long term community support.

Yes. We should learn from experiences elsewhere in Apache, such as Cocoon and 
the commons projects.
But sometimes I am 'confused' that small useful code pieces "that just works" 
are often discarded as "not maintained" and "should not be used", which IMHO 
instead leads to "re-inventing the wheels" more often than necessary.

The more modular and scaled down a codebase is, the less important it is that 
there is a healthy community doing active development on it on a daily basis. 
Small codebases have less bugs, and if any users can find a bug quickly, and 
if there is a good feedback channel in place, it would not be a problem, 
IMVHO.

Now, that said, I would also like to take this opportunity to suggest that we 
could instead have "tools" and "infrastructure" to "publish" bundles that are 
available from a development point of view from elsewhere. I don't know the 
principles behind the Oscar Bundle Repository, but we could work on that 
principle and perhaps look into;
  *  Central discovery of N x OBRs, and/or
  *  RDF to publish and search for bundles across distributed sets of OBRs
  *  Meta information to classify bundles along various axis.

and so on...

Bottom line of that;  Allow one-man shows "elsewhere", and Felix community 
helps such efforts to reach a larger audience. For the users, it means go to 
Felix and from there they can search for any bundles, in any market segment, 
and over time I think such system of repositories would be an enormous help 
compared to the current Google searches.


Cheers
Niclas

Re: Adding bundles

Posted by Enrique Rodriguez <en...@gmail.com>.
Daniel Fagerstrom wrote:
...
> But before we start to add bundles to Felix I think we need to discuss 
> what policy we should have for adding bundles. Here are my opinions:
> 
> * As it is part of our charter to "implement, document, maintain, and 
> support standard OSGi R4 services", we should in most cases accept code 
> contributions for standard services as initial code base (as long as the 
> legal issues are solved of course). For some services there might be 
> several different approaches for the services, in such cases we need of 
> course more discussion.

Sounds great.  There are a number of smaller OBR repos with a lot to 
offer and I hope we hear from more people like Didier who are willing to 
raise the visibility of their work.

> * Committers can add whatever bundle they want to their sandbox.

This is very cool.  Without accountability, the sandbox rapidly becomes 
a litterbox.

> * Now we come to the complicated part: non standard bundles. One of the 
> cool things with our project is that we have the goal to "provide a 
> focal point for the open-source OSGi community to develop next 
> generation enhancements to the core framework and act as a conduit for 
> the open-source community to the OSGi Alliance". Fullfilling that 
> requires IMO some focus, we should not let our project become a dumping 
> ground for various half baked ideas and one man shows.

I'd like to provide some commentary, namely what we were thinking when 
writing the proposal regarding #3 ("common needs not fully specified") 
vs. #4 ("next generation enhancements").  Of course, I look forward to 
Felix taking on a life of its own so this may largely be personal opinion.

As you note, #4 results in non-standard bundles.  Really, with #4, "next 
generation enhancements," we were thinking about how the Service Binder 
went on to become Declarative Services.  In other words, "next 
generation" meant modularity and classloading ... deeper stuff.

But, I'd like to draw some attention to #3 as I believe that is where 
some of the most useful bundles will come from.  By "interfaces, APIs, 
and other common needs not fully specified" we had in mind:

1)  "store interfaces" - services such as UserAdmin, ConfigAdmin, and 
PrefsAdmin did not define store interfaces.  With store interfaces 
defined, we could provide bundles for directory (JNDI), JDBC, or object 
store (db4o, Prevayler) backends.  Existing implementations either 
provide no persistence or a simple file store.  I believe the lack of 
store options is holding back their wider usage.

2)  "aspects of the runtime container's packaging" - really this means 
daemons and installers (GUI, RPM) for Windows and Linux.  We should be 
able to provide these as features for Felix users at Apache and 
elsewhere to re-use for their projects.

3)  "bundle repositories" - OBR and related ideas, such as standardizing 
repo formats with Maven and maybe even Eclipse update sites.

OK, I hope that helped.  Looking back at the proposal I wouldn't be 
surprised if it wasn't clear.  Opps.

> IMO a non standard bundle should only be accepted if it is a community 
> effort, i.e. if a couple of community members takes part in discussions, 
> design and implementation. We should also have vote about accepting the 
> bundle.

Makes sense.

> The above might sound somewhat harsh but we have some rather bad 
> experience from the Cocoon project on letting people add modules 
> (blocks) whenever they feel like. After a number of years we have the 
> following situation: http://svn.apache.org/repos/asf/cocoon/blocks/. 
> Around 50 blocks of which only a handfull are actively maintained by the 
> community. It is not that easy for a new user to evaluate which of all 
> these blocks that they can rely on. And categorizing and removing blocks 
> leads to community friction.
> 
> So IMO we should only add a bundle after that we have made sure it has 
> real long term community support.
> 
> What do you think?
> 
> /Daniel
>