This morning Intel has announced the release of Clutter 1.0.0, the graphics library that is gaining speed within the GNOME development community (it is used by Gnome Shell). “This toolkit provides a library/API for creating rich user interfaces in a relatively easy to use way that conceals much of the challenges of programming your application to directly use OpenGL or OpenGL ES. Clutter is already being used within Moblin V2 and its user interface is very impressive.”
I have been fairly impressed with Clutter so far. I am hoping it sees even broader adoption within the gnome comunity.
How come it has reached that number whereas some projects have yet to do it, and we know and use them for so long?
It’s called marketing.
I don’t know which other projects you have in mind, but remember, it’s just a number. In theory, calling a library 1.x implies the API is now stable and can be relied on – Clutter seems to follow that convention. But not everyone does – Gstreamer, for example, declared API/ABI stability on the 0.10.x series, and seem to be holding to that.
Generally, that is only one condition that has to be met. A .0 release generally implies that the product is stable (doesn’t crash a lot) and is pretty much feature complete. Only a few slipshod projekts with substandard QA use .0 to mean only that the abi is stable and that developers can get started.
Edited 2009-07-30 01:33 UTC
Sure – the 1.0 release implies a more general “ready for use”.
But I disagree with your last sentence – it should actually be the projects with *good* QA for which a 1.0 release means only that the API is stable. If your code is crashing a lot, you shouldn’t be doing 0.x releases, never mind a 1.0…
feature completeness in a library is a nonsense: features can be added without breaking API (look at GTK+), and crashers should be identified during the development cycles.
GStreamer, like Clutter did during the 0.x development cycle, broke API compatibility with every minor release: applications written for 0.6 would have to be ported to 0.8, and applications written for 0.8 would have to be ported to 0.10 — but applications written with 0.10.0 would still work with 0.10.2, 0.10.4, etc.
by the way, GStreamer developers are targeting a 1.0: http://noraisin.net/~jan/diary/?p=93
Sorry for being offtopic here but 0.10 after a 0.8??!!
Isn’t that like going back to 0.1 because, 0.1 == 0.10. Well I hope developers these days don’t get to skimp on mathematics (that too as basic as that). Ok well, feel free to mod me down everyone.
No because each number between periods is treated as a separate number. In the example you provided, 0 is the major number, 10 is the minor – you can also have build/revision numbers as well. Many version numbers have 3 or 4 different numeric indicators, giving you numbers like:
1.20.3
I know, it makes it painful to think about…sorry.
we reached the minimum amount of API we are confident to support for the whole duration of the 1.x cycle. so, every minor release of Clutter 1.x will be API and ABI compatible (meaning: only API additions and deprecations, no changes or removals) – as opposed to the API break at every minor release during the 0.x development over the last three and a half years.
Clutter is by no means Bug Free(tm), or Feature Complete(tm), but the API exposed right now will not change, so developers can safely create applications and have them running throughout the 1.x releases.
this is all that the 1.0 number means.
Thanks. Also to everyone else thanks.
It’s just a number. People read to much into version numbers these days.
Also, I’m finding it amusing that the vast majorety of posts in this thread are about a subject as dull as the numbering conventions and not about Intels graphics library
Hey, I guess that’s the only way one will be able to say that Gnome 3.0 will have too much of cluttered interface, huh?
Great work, guys. I love the idea behind Clutter and I hope it sees wide usage throughout the Gnome software ecosystem. It’ll sure freshen up the face of the project a lot.