with a bit higher latency than predicted here's part two, of latest mail regarding our collective future.
*-- break for infomercial* Last week rPath made available on http://hg.rpath.com/mirrorball their fully automated (as possible) framework to re-wrap any foreign apt/rpm with conary. It's clean, it's nice, and it works, being easy to grasp and understand. *-- on the future, and strategic choices* Supporting a distro, end to end, is not a lightweight business, it implies maintaining and tracking several thousands of packages, and a minimal level of understanding about them and the way they relate between then, in order to get a consistent set. A distro is a set several things - a set of choices that are supposed to result in a consistent vision about how things should be deployed to the end user, a set of patches to develop on that vision and a community of users and developers to bring it all possible. Right now, we don't have the resources to support as many packages as the 'big' ones - they have dedicated staff, we don't, to start, so we need to focus on what we are absolutely best, and go from there. This implies to be creative, to make choices and trade-offs, to be absolutely focused, and to execute flawlessly. With rPath's release of mirrorball, it's quixotic to try to fight against what will come due to it, so what we could do is to get the best of it. Yes, it can wrap (with conary) _any_ rpm/deb based distro, and can wrap/keep it tracked with relatively low overhead (man power wise). The bad news - it is _just_ a binary rewrap, with all the limitations it implies (albeit in the near future, 'automated' refactoring resulting from straight builds up from spec rpms will be possible which will mitigate things a bit, one is still limited by rpm's weak semantics), the good news - we, conary based platforms, get access to the vast array of ready to use packages on the 'legacy' platforms, on the cheap. So, let's be smart and creative, and get the best of all worlds. Foresight evolved, over time, on top of rPL; rPL was started by the very same people who started RHEL... and fedora, so, if just for consistency, it makes sense, to make a 'marriage of convenience' with fedora. Yes, 'hooking' on Ubuntu, or OpenSuse, would be possible too, but the deviation, from current behavior in a lot of fronts, would be far greater, for no obvious gains. So, on what would consist this 'marriage of convenience' ? On two parallel, symbiotic paths, maintaining and developed under the _same_ umbrella - Two full distributions - one - the 'easy' one, containing the full conaryfied fedora repositories, plus a few extra key ones, like rpm-fusion, lets call this just '*boots*', to honor trademark restrictions. boots would be time based, trickinh upstream fedora releases. The 'other' one, a full, from the ground up, fully source, and conary recipes, based distribution, on good old foresight/rPL fashion, let's call it *foresight3*. Regarding 'boots', on itself, mkj will get deeper in the details... regarding *foresight3* here's what i envision... 1. as we don't have the resources, nor enough people, to maintain our own specific patchsets, we need to follow those who have, and make the best advantage of it. At low level, toolchain/major libs, we 'll track, bug by bug, Fedora ones (just ignoring irrelevant, for us, technologies - like selinux and gcj support, in the sake of simplicity). At the layers above (with UI exposure), it will be on a case by case scenario (see below). The end goal is not to have zero bugs, is to have zero bugs that are f3 specific (other than ones specific to our tools - our anaconda, conary, etc, our packaging). As we are dropping reliance on rPL, this is an excellent opportunity to get more people in our community engaged in maintenance, and exposed to conary voodoo. And we should also make sure that we are being active in fixing/reporting bugs back up the chain to the Fedora community as needed. We don't want our relationship with Fedora to be purely parasitic. 2. There should be interoperability, as we want, expect, most packages, from the boots repositories to install, cleanly on top of f3 either to fill gaps, or just for testing. This implies that both sides must follow a given set of conventions to make this transparent, and sane. This will not be true in all cases, naturally - If one bumps gnome on f3, gnome packages from boots, won't install on f3, but _then_ the ones from boots/rawhide should. In general the goal is to avoid *gratuitous* difference to enhance the possibility for sharing/scaling, particularly with regard to packages that are outside foresight's core vision, such as server-related packages. To ease things we expect both sides to have a very similar group layout. Where there should be as close matching is on groups layouts and package naming, for obvious reasons. 3. this doesn't mean we will have to be tied by RH/Fedora's agenda, or schedules. The core purpose of building and maintaining a full distro from source is to get full flexibility. It is our full belief that one can get more flexibility, compared to anything else, by using conary, and co-related tools, so the road-map to f3 is to get, using a full conary based recipe tree, at same point, full parity, with a relevant subset of Fedora (say, toolchain + stuff to get toolchain bootstrapped against itself + Xorg + Gnome + Kde, etc), and _then_ go from there. (see 5.) 4. albeit mirrorball is, right now, 'just' a tool to wrap foreign distros into conary, at its inner there's lot of cool stuff on it already. I envision it to be extended, to become f3's central 'nervous system', a console that will look at our repositories, at foreign ones, and just present us with the options/issues we'll have, at any given moment, allowing us to know how we compare version wise, patch-wise, bug-wise, against all else, warning of new versions, dead patches, update suggestions, availability of security fixes, etc, at a micro and macro level. A console that will integrate with our bug-tracker, and foreign ones. This new tool will be central to our strategy, and ongoing development, allowing us to scale better, de-dup efforts, communicate better, and ultimately allowing us to provide a best of breed solution to our end-users, quickly. (the patch part is not incompatible with what was said before, re: tracking fedora patches - we should be conservative at low level, for obvious reasons, but above that other than keeping consistent with them re: pkgNaming conventions, we 're free). 5. as soon as we get feature parity, with a given (stable) fedora - the show truly begins, since as we won't have the technology limitations they have, we will keep updating our tree, with newer stuff, we deem as stable (eg. major Gnome releases, Xorg, kde, etc), stuff that on their side, will be relegated to their unstable repos (as they - in our lingo - only 'promote' to stable, at time of every major release). We will keep being _rolling_. (as feature wise, ideally, in the packages f3 provides natively, in the worst case, they will be the _exactly_ same as boots, modulo intentional deviation to track newer packages) 6. Being close to fedora behavior, lowers learning curve to their users and provides a migration path to them. As soon as it becomes plain obvious (if isn't already) that a conary (source) based tree is insanely easier to maintain than one based in legacy packaging technologies, our hope is to attract foreign maintainers, like those not on RH's payroll, to make f3 their _primary_ development platform. 7. there will be straight and clean migration paths either from fl:2 to boots and fl:3, and from boots to fl:3. So, and paraphrasing mkj, am i got definitively insane ? Feedback welcome. All the best, *António Meireles*, aka *doniphon* P.S. 1. next - the *f3* development model in detail. P. S. 2. thanks for mkj, smerp and MarkT for helping/commenting on writing this, and proof-reading, and keeping me with a(t least one) foot on land. _______________________________________________ Foresight-devel mailing list Foresight-devel@lists.rpath.org http://lists.rpath.org/mailman/listinfo/foresight-devel