Hi all, It's spring cleaning time in the northern hemisphere! I propose a radical cleaning of Clerezza.
I think the project source has a size that poses the following problems: - It's hard to manage - It's too much for potential new contributors to easily get into the project - Votes are hard as most PMC member are only familiar with a portion of the codebase - Unclear boundaries with the Stanbol project (Clerezza Authentication relies on Stanbol with in turn uses Clerezza) My proposal drop* everything but a core consisting of the following: - Everything in clerezza-rdf-core (API, utils, SPARQL backend) - rdf.core - rdf.ontologies and maven plugin to generate them - rdf .utils and rdf.utils.scala - rdf simple storage (mainly for tests) All this components should work well with and without OSGi. That's it no launchers, no shell, no platform, no permission, no email, no adapters to storage backends (apart from the SPARQL one), no uima, no parsers and no serializers (but with the parsing interface), no CRIS. The rationale is, that we all know the above core modules so we can have competent discussions about changes there. Also, I think its good to be conservative on changes to the APIs at the very core (and it doesn't harm to be a bit slow). For the other components I think many of them would be better off if managed outside apache by their respective core developers. Personally I like coding with the Clerezza API and use it in many of my projects, what I don't like is if I encounter a tiny issue in some marginal module I developed: if I fix it in the Clerezza code base I have to rely on a SNAPSHOT version (which I usually don't want) or make a release, now calling for a vote for some minor fixes in a module that's rather unimportant (except of course, for the project I'm working on) seems like an overkill and an unnecessary waiting time, I often end up working around the issue or duplicating code in my project. * By drop I mean to end maintaining as part of Apache Clerezza and removing it from our repository, this is the part to decide on this list. I'm personally interested in keeping alive significant portions of that code and I hope that others might too. What do you think? Cheers, Reto
