On Thu, 2011-12-01 at 18:44 +0000, Jonny Lamb wrote: > Basically, the idea is to throw the following Telepathy components into > one repository (to rule them all):
Sjoerd, Simon, and myself had another chat about this on Friday. (We were hoping Robert would also be present, given he was the big advocate of the one big repository, but he was not.) Given the huge differing of opinions, including core Telepathy contributors, I wanted to clear things up and have more consensus on a decision for the road ahead. The tl;dr version is: add "next" branches and break API & ABI there. The longer version is: → In telepathy-glib, telepathy-spec and maybe some core connection managers, a "next" branch will be added. (The name is by analogy to many projects with a similar idea, such as git itself.) This branch will contain the API and ABI breaks and during development of this branch, API and ABI stability is not guaranteed. We'll just do said components initially, but tp-qt and other CMs should follow suit at some point (before next merges to master). GStreamer is reportedly doing fine with two development branches in a similar manner. → In this next branch we will do some Telepathy 1.0 breakages. To start with: · telepathy-glib: Split the high and low-level libraries, as discussed before. The low-level library will not be exposed through the high-level one, but the high-level will (obviously) depend on the low-level one. Enums and errors (constants) will need to be in the high-level library. Symbols generated from the spec in the low-level library will be versioned. · telepathy-spec: Finally fix a lot of the low-hanging fruit and remove deprecated interfaces. All interfaces are to be versioned. · Connection managers: Follow telepathy-glib and telepathy-spec changes and drop unused or deprecated code. → The spec and the ABI of telepathy-glib's low-level library will break every so often, probably after each stable branch. At these breaks, deprecated interfaces will be removed. Old interfaces will remain present in the spec until this point but be hidden from, say, the HTML output, to make it cleaner. Making interfaces mandatory (as we did with, say, Messages) is included in this break. → telepathy-glib will be ported to GDBus, but not immediately. As an intial idea, the split of the library and cleanup of the spec is targeted for GNOME 3.4 and GDBus porting is targeted at GNOME 3.6. This means breaking high-level API and ABI will have to happen twice but I reckon we can live with that. That was slightly more concise than I thought it would be. -- Jonny Lamb _______________________________________________ telepathy mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/telepathy
