Slashdot Mirror


Fedora Project Developer Proposes Layered, More Agile Design to Distribution

Karrde712 writes "Fedora Cloud Architect Matthew Miller announced a proposal on a plan to redesign the way that the Fedora Project builds its GNU/Linux distribution. Fedora has often been described as a 'bag of bits,' with thousands of packages and only minimal integration. Miller's proposal for 'Fedora.Next' describes reorganizing the packages and upstream projects that comprise Fedora into a series of 'rings,' each level of which would have its own set of release and packaging requirements. The lowest levels of the distribution may be renamed to 'Fedora Core.' Much discussion is ongoing on the Fedora Devel mailing list. If any Slashdot readers have good advice to add to the discussion, it would be most useful to respond to the ongoing thread there." A full presentation on the plan will be given at the Flock conference next month, and draft slides have been uploaded. A few more details about the discussion are below the fold.

Karrde712 continues, Discussion on the list has questioned whether this is meant to be a return to the old "Fedora Core" and "Fedora Extras" model of Fedora's early life, to which Miller responded: 'I'm aware of this concern — I was there too, you know. As I was talking about the idea with people, it kept being hard to not accidentally say "core". Finally, as I was talking to Seth Vidal, he said, in his characteristic way, "Look, here's the thing. You should just call it Fedora Core. If you don't, people are going to be grumbling in the back corner and saying that it's really Core, and the conversation becomes about a conspiracy about the name. Just call it Fedora Core, and then have the conversation about the important point, which is how it's different."'

19 of 74 comments (clear)

  1. businessmen in software by Joining+Yet+Again · · Score: 5, Insightful

    I pretty much left the software development world when all this "Agile" bullshit became popular.

    Over the past decade there has been an explosion of methodologies and metrics to coincide with a stagnation in fundamental developments in engineering. Contrary to what the young'uns think, there is very little that's appeared on the software scene that wasn't already there - and written more efficiently - either on the desktop in the '90s, or on the mainframe/cloud in the two decades prior. But what we do have is a whole pile of paperwork, of admin, of things to remember about how you're supposed to be doing things, of new ways to make creativity just that little bit harder.

    So there is an *explosion* on all the new platforms of very similar software products, all developed the same way.

    Stop it. Find out what works in your organisation, and evolve incrementally. Don't look to claims of revolutionary buzzwords.

    1. Re:businessmen in software by viperidaenz · · Score: 3, Funny

      and get off your lawn?

    2. Re:businessmen in software by breun · · Score: 2

      Find out what works in your organisation, and evolve incrementally.

      Hm, sounds like agile to me.

    3. Re:businessmen in software by jbolden · · Score: 2

      Agile is one of the most pro-programmer, pro-creativity methodologies around.

      As for nothing new being invented, just to pick one, mobility and a mobile workforce. In the 1990s people could carry papers and a PDA but information from the mobile workforce flowed back often days later.

    4. Re:businessmen in software by ClassicASP · · Score: 3, Interesting

      True that. Seen this routine a bunch of times in various ways, and in the end its really about developers making money. You can just keep it simple and go with what works (as you can see from my handle, I'm old-school). But I've met many less-experienced and less-knowledgable business owners who were totally sold on complex methodologies by their developers, and as time progressed they ended up with something thats very bulky and complicated that required a big learning curve to get past in order for any new developer to be added to the scene to jump in and start getting anything done. Business owners don't want to have to pay money for someone to just sit there and learn, so they can't find anyone else to work on their site who they consider "qualified". So whats happened is they've found themselves pretty much stuck with whomever originally wrote their code, which of course keeps their job secure and empowers them to command more money for their work. To me it just feels and sounds too much like a scam, and I hold myself to higher standards than that.

    5. Re:businessmen in software by Bengie · · Score: 2

      I also love how people use "Agile" as an excuse for horrible design. You don't let programmers design the system, you still have a proper architect who designs, but you have the programmers make modular code that is easy to re-factor.

      Like what anonymous said further down, "Common Sense Development". Make your code modular, work one module at a time, preferably create tests for each module, when requirements change, re-factor. Welcome to Agile, the same crap that has been told for good programming practices for decades.

    6. Re:businessmen in software by Joining+Yet+Again · · Score: 3, Interesting

      Like I said: "businessmen in software" - you're demonstrating it well, Anonymous coward.

      While "actual workers" have always had to deal with managers, helicopter management by overgrown software developers who slipped into the comfy chair is a newer phenomenon.

      Short-sightedness is not seeing that we're just seeing the same old methods but with new names, more rules, and more paperwork. See other replies on this thread. But I couldn't help but hear you type your post with Cabaret's "Tomorrow belongs to me" playing in the background, and this made me laugh, so thanks.

  2. Marketing not cutting edge by Stonefish · · Score: 2, Interesting

    If you're concerned about packaging you're in marketing not software development, why not just spend hours talking about the colour of the box and be done with it. This is one of the reasons why debian is making inroads into the enterprise space. Less colour and more bang. Once many years ago I thought that Debian wasn't for business use and only redhat was a contender in this space and I fought hard to standardize on this supported model. Since then the packaging quality of debian has demonstrated its robustness and redhat has been focusing on other things.

    1. Re:Marketing not cutting edge by msclrhd · · Score: 5, Informative

      Packaging in this sense is referring to grouping the built binaries and other files into a set of installable files that you can install (i.e. the rpm files in Fedora, deb files in Debian and msi files on Windows). These take care of specifying the dependencies and upgrades.

      The discussion in TFA is how to group those packages so they are more manageable. For example, a core layer is critical for running the OS (containing the kernel and other essential software), like the projects built in the Linux From Scratch manual.

      This then allows those groups to update and release independently of each other. These updates ensure that the packages in the group work well together. That is, you usually need to make sure that gcc, binutils and glibc all work well and update together so they would be in a group together.

    2. Re:Marketing not cutting edge by Anonymous Coward · · Score: 2, Insightful

      TIL: Sensible presentation of complex data is 'marketing'.

      I should hire some marketers to help me with my big data sets.

  3. Listen to the sysadmins by mitcheli · · Score: 4, Interesting

    Seems to me that when I'm working on a build with security in mind, I start with a bare build that is the barest of essentials to boot the system and use the hardware. From then, we add on the packages we need to get just what we need. And as we layer those packages on, we focus on the hardening of the individual services. As time has gone on, in a virtualized environment, it's very easy to build "default" systems that fill certain roles and are sized for different resource levels. It would seem to me that these standardized baselines would serve well for an installation model. Fedora does that to some extent (loosely) but that could be built upon more I would think. So if I want a firewall, I could get a bare boned installation with enhanced iptables rules and hardening provisions commonly used. Or if I want a web server, perhaps a slightly less bareboned installation with the needed scripting tools (PHP, Perl, etc?), etc... It seems the biggest questions I've dealt with when building new systems is, role, size, and whether or not it's for development. Outside of that, the builds are rather typical.

    --
    Select from tblFriends where interesting >= 4;
    1. Re:Listen to the sysadmins by jfdavis668 · · Score: 2

      The reason I use Fedora is just that. You can install a bare bones system, and add the capability you need. That way I only need to take the "bit" I need from the "bag". Yes, that means thinking about what you need to install, instead of spraying features out until you hope you covered your needs. That was one of the problems which lead to unsecured systems, people installing features they weren't even aware existed. If they didn't know about it, they didn't configure it and take security into account. I like having to decide to include it, and configure it properly as I go.

  4. What we'd really need by aglider · · Score: 3, Insightful

    In order to get Linux growing is a similar thing.
    A "ring0" with a very basic system on top of which all other distros are based.
    This would avoid everyone re-inventing the warm water multiple times, while distros would focus on the other rings.
    More or less the same as is seen in FreeBSD with the "GIU"derivatives.
    A controlled ring0 would focus on keeping the system up and running at the very best with a centralized repo for everyone.
    But you may say i am a dreamer ...

    --
    Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
    1. Re:What we'd really need by Joining+Yet+Again · · Score: 2

      So what you're saying is that we should reinvent Debian?

    2. Re:What we'd really need by tibit · · Score: 2

      The deal is that this "ring0" can be done in multiple ways. For example, what is the first process to start: init or launchd? Is selinux finally going to be the default, with support for all services in this ring0, and core stuff in the next ring as well? And so on. See, it's not so easy when you actually get to doing it. Talk is cheap.

      --
      A successful API design takes a mixture of software design and pedagogy.
  5. Re:Extra layers == epic fail by bill_mcgonigle · · Score: 2

    - Make the distro more "exciting"

    I'd be excited if upgrades weren't an ugly afterthought. Y'know, because everybody has to do it at least once a year.

    If it takes this 'ring' idea, to force the upgrade issue, and perhaps versioned packages outside of kernel-*, then I'll get behind it.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  6. Re:Extra layers == epic fail by mattdm · · Score: 2

    I'd be excited if upgrades weren't an ugly afterthought. Y'know, because everybody has to do it at least once a year.

    If it takes this 'ring' idea, to force the upgrade issue, and perhaps versioned packages outside of kernel-*, then I'll get behind it.

    Good, because those two things are exactly what this is all about.

  7. Re:Extra layers == epic fail by mattdm · · Score: 3, Informative

    It would be hard to imagine a better recipe for epic failure. It seems that the proponents don't realize that the less baggage it carries, the more robust and easy to use a distro becomes.

    I have to say, I'm not entirely sure you've read this proposal. Or maybe there is something that could be more clear? The audience here is really Fedora developers, so it's likely that some things aren't immediately apparent if you're more removed from that. Overall, this is a proposal for significantly less baggage.

    And "excitement" is definitely not needed. An operating system isn't an electrical appliance needing new excitement and frills to shift product off the shelves each season. Boredom is a sign of stability and reliability, and those two are without doubt most important features a distro designer can provide.

    Well, Fedora isn't ever going to be that completely safe kind of boring. For that, we have our downstream distributions, which are awesomely boring in all the way you describe. Fedora isn't supposed to be that, and is supposed to be in place where we are generating excitement, whether that's at the OS core or further out. But in general, the idea here is to separate out that "no frills" core from the language stacks and other areas where "be up to date" and "make available the exact things we need" are the demands. Then, we can address these needs differently.

    If you're just interested in the base, awesome: we will put that together for you in a well-defined way and let you do whatever you want on top of that.

    Having the separate ring 1 lets us focus on making that a coherent base which can be enhanced in an cohesive way which doesn't break everything for users as we go from release to release.

  8. Re:Matt Miller is unhappy but unsure what about by mattdm · · Score: 2

    Question all you like. I don't mind. However, I'd really prefer questions to the trolling. *

    Which, given all the posts, by tibit, I have to assume is the case. If I were to take it seriously, though, I would say that probably what's happened is that much of the concrete part of the proposal uses labels which are unlikely to be familiar to someone not active in Fedora development (Fedora Formulas, Software Collections) without explaining them. You might know OpenShift, but "OpenShift Gears, decoupled" just sounds like gibberish. Even the term "base design" sounds vague but actually relates to a specific ongoing effort (http://sched.co/11El9OZ).

    I didn't really think about how this would read to an outside audience, because Fedora developers are the intended audience, and because this is a presentation, not an in-depth white paper.

    (* I know, I know, am I new here or what?)