Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [nebula-dev] Future of Nebula

Hi Wim,

First off, I'd like to say you've done a tremendous job in leading Nebula and we all owe you a huge debt of gratitude for all you've done. I really appreciate your analysis of the situation and fostering discussion of these issues. Here is my view of the situation.

I look at Nebula as a project aggregator rather than a project. When we brought NatTable to Nebula we decided to treat it as a separate subproject, which I think was the right decision. I actually think this is how all of the other Nebula widgets should be viewed as well - as separate projects. Now, in order to try to cut down on overhead Nebula has historically lumped all other widgets together into one 'project', but I think this has created a number of problems as well.

For one, viewing Nebula as a single project means the Eclipse Foundation will ask you to provide releases, and I don't think it makes much sense to have a unified release of Nebula as a whole. Users are really interested in stable releases of specific widgets, and I don't think they care if those widgets are all released all together at the same time. On the contrary, I think it is much preferable not to artificially tie the release schedules of all Nebula widgets together in this way. Development for each of these widgets happens independently, and it makes more sense to make release decisions for each widget independently.

Also, it is unclear what level of support can be expected of a particular widget. I think we could be clearer about this. It would be great if we could clearly identify on the web site a 'lead' for each widget. And if no such lead exists for a given widget, we could indicate that the widget is supported on a best-effort basis by the Nebula community. This would help set expectations for users and widget maintainers.

There are lots of other distortions that come up as part of looking at Nebula as an actual project instead of a constellation of individual projects. For instance, sharing a single source code repository for all widgets is weird because the code for each widget is pretty much completely independent from all others. I think we should have separate git repos and hudson builds for each widget.

I think Nebula should be a project in the sense that the Eclipse Modeling Project is a project. All of the actual content of the Eclipse Modeling Project comes from its various subprojects, and the top-level Eclipse Modeling Project deals only with top-level concerns. The problem we have with Nebula is that right now it is both of these things together.

So now I'm going to suggest something radical, but that is a direct consequence of your observation that there is no "us". I would suggest splitting all of the Nebula widgets into separate subprojects and keeping Nebula as a top-level aggregator project. I think the 'benefit' of trying to reduce overhead by lumping all our widgets together is actually a major hindrance and causes too much confusion, unnecessary interdependence, and - crucially - loss of accountability. At the very least, we could split out a 'Nebula Miscellaneous Widgets' subproject from the top-level Nebula project. But I think it would be better if each widget that has a clear owner to have its own subproject.

This way the responsibility for maintaining each widget becomes clear: each widget has its own project and its own owner who is responsible for maintaining it. Widget releases would be made from these individual subprojects.

The responsibility of the top-level Nebula project also becomes clear: it is the job of the top-level project to maintain the widget catalog, to periodically check on the individual widget maintainers to make sure they are still active, and to help shepherd them through the various Eclipse adminstrative processes.

I think this would rationalize a lot of things about Nebula and would help us better serve the community and help get more active participation as well. Because I would like to see a vibrant and growing Nebula, and I would like to see it address new technologies and platforms. But I think it will have a hard time doing so effectively in its current monolithic form.

My $.02. Let me know what you think -

Thanks,
Edwin



On Fri, Apr 5, 2013 at 12:23 PM, Mickael Istria <mistria@xxxxxxxxxx> wrote:

My analysis for this is the following:

> Widget authors are pretty much individualists. We have many widgets and many authors but there is not sense of a "one product" like you would have for other projects. Every widget is more or less self sustained. Hence there is no "us".
> Most widgets are feature complete. They have a described function and there is no reason to evolve this from year to year.
I agree with that. Nebula is just an "aggregation" of individual widgets. It's not a real project (refering to the usual definition of project) since there is no global roadmap and objectives. 1 widget == 1 (mini) project.
But the current approach is actually working well since it fits contributors and consumers wishes.


> Feedback from the external community (consumers). I hear of many people consuming Nebula widgets, but there is not a desire or need to provide feedback apart from the occasional bug request.
I agree with that. Nebula widgets are usually good quality and we can find documentations and snippet about how to use them. I guess a majority of the Eclipse-based RCP apps have used Nebula widget. I'm also sure that if a "complete" widget has a bug and needs a contribution, we can easily find someone to fix it (inside or outside of the known contributor set).


Conclusion: Having these thoughts, I think we are better of being as we were, a perpetual incubation project.
Incubation is actually a cool status, it makes things easier sometimes. For Nebula, I also don't think there is a big benefit in turning it into a released project. But there is no issue in being a release neither...


I was also thinking to broaden the scope of Nebula and make it a home for widgets of other technologies like Swing, JFace, RAP and _javascript_.
That's a good idea.
I hope in most cases, SWT/JFace based widget would work with RAP. By the way, we should try to provide an RAP version of the Nebula examples.
About Swing and _javascript_ in general, I'm not sure Nebula (and Eclipse in general) is the place where contributors would like to contribute the most...
However, it would make a lot of sense to make Nebula host some high-level widgets dedicated to Orion.

Move back to incubation?
I would vote 0.

What would you improve in Nebula?
Showcase it on RAP.

Do you think the project is still relevant?
Yes, definitely.

What do you think about adding other technologies besides SWT?
I would vote +1 for Orion-based stuff, -1 for the other ones.


Also, Wim, I hope you'll submit an overview of Nebula for EclipseCon France (deadline is April 15th) ;)
--
Mickael Istria
Eclipse developer at JBoss, by Red Hat
My blog - My Tweets

_______________________________________________
nebula-dev mailing list
nebula-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/nebula-dev



Back to the top