Zeta Components retired from Apache
For the last two years we tried to get the Zeta Components project (formerly known as Apache Zeta Components, formerly known as eZ Components) going inside the Apache Software Foundation (ASF). Due to time constraints of the main contributors we sadly never managed to really get the project kickstarted.
Some weeks ago we finally decided to retire the project from the ASF. We moved the code to Github, where all components are now available under the zetacomponents organization: https://github.com/zetacomponents
The Zeta Components projects includes some unique & beautiful pieces of PHP code. And I hope we will now get some contributions back. I know that there are still a lot of people using components from this project.
Since there is no formal organization behind this project any more, we moved to maintainer-centric approach, where each component has a dedicated maintainer. This also means that we cannot enforce any standards across all components any more, but each component follows what it maintainer thinks is best. Feel free to fork, though. :)
I will mainly continue to maintain my two babies:
The Graph component
A component to draw various types of diagrams, using different output drivers and extensible on about any layer.
A component to convert between different text formats, like: ReStructured Text, HTML, Docbook (subset), PDF, ODT, various wiki markup languages, …
Just like before I will try to maintain backwards compability at any costs -- I still think this is one of the most important aspects for libraries and tools. If not the most important aspect.
I already got the tests working again in the Graph component (broken because of internal changes in PHPUnit), but several other components need some love, too. Contributions are very welcome.
Installation
Thanks to the migration efforts by Benjamin (Thanks a lot, buddy) all components are now installable via composer and are available on packagist. Just add a dependency on the package, like: zetacomponents/graph and run composer.phar update. See more in the composer-docs: http://getcomposer.org/doc/00-intro.md
Also thanks to Benjamin the website is up and running again, containing the tutorials and API documentation: http://zetacomponents.org
Contributing
Contributions will now mainly focus on Github as a collaboration platform. But additionally Derick was so kind to set up a mailing list. You can find it here: zeta@lists.xdebug.org -- to subscribe: Send an email to ecartis@lists.xdebug.org with the subject "subscribe zeta".
Running the tests
If you want to run the tests for contributing, this is also easy. Just do the following:
# Install composer, you might skip that, if already installed
wget http://getcomposer.org/composer.phar
# Install all component (development) dependencies
php composer.phar install --dev
# Run the tests
phpunitAfterwards the usual Github workflow applies:
Fork project on Github
Commit to your fork
Create pull request
Let's try to get all this up and running again. It would be too sad if all this great code would be lost.
If you liked this blog post, or learned something please consider using flattr to contribute back: .
Comments
Fields with bold names are mandatory.
KingCrunch at Tue, 29 May 2012 11:39:49 +0200
Does "backwards compability at any costs" mean, that we can not assume modern technologies, like namespaces or closures, in Zeta ... soon? In my eyes it looks not useful to stay in 2006 forever :X
Link to commentKore at Tue, 29 May 2012 11:52:37 +0200
@KingCrunch: Definitely not in my components. Why break _all_ code relying on the components just for naming beauty? What is is the point behind that?
Link to commentClosures for new code would be fine, if relying on 5.3 really is an option.
KingCrunch at Tue, 29 May 2012 12:30:20 +0200
I don't think it definitely will break anything, because they can stay with the old ones. At least your two components seems very stable (?)(latest updates 6 months and 2 years), thus there should be no heavy downside in not updating to the latest version.
Link to commentHowever, I think this "bc at any costs" is the reason for the inconsistent php-core api. I usually don't feel comfortable with "keep the old, just because its compatible"...
Additionally, several libraries from different ages sometimes feel slightly alien next two each other. It's easier to understand a component, if they look and feel familiar and with PSR-0 there is at least one (established) standard, that can help to overlook a component at the first sight.
Maybe wrapper components, or a "Zeta2" would be an option ;) I don't want to push anybody into something :D I was just curious why not taking the opportunity to clean up and let ezc/Zeta blink in a new light.
Kore at Tue, 29 May 2012 12:42:22 +0200
@KingCrunch: Then any body not migrating will not benefit from bug fixes. This is a break, in my eyes.
Link to commentI choose slightly incosistent APIs over the need to refactor with every new version of the dozens libraries & tools I use in my projects any time. Otherwise I wouldn't do anything but refactoring at all. I already wasted man-months because some people do not agree with this. The need to refactor without any gained benefit just sucks big time.
A wrapper sadly does not work, because it breaks inheritance.
gggeek at Wed, 30 May 2012 20:30:06 +0200
I can do with getting the maintainership of the db component, I guess... now that the process is not as bureaucratic as it was under the Apache stewardship ;-)
Link to commentCoach Factory Store at Mon, 17 Sep 2012 04:12:59 +0200
Car Parkway after driving skills, my beauty without any worries
Link to comment