Posted
by
Unknown Lamer
on Tuesday July 23, 2013 @04:06AM
from the upstream-engagement dept.

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."'

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.

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.

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" pl

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 ne

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 practice

I think we should focus discussion on the specifics of the guy's proposal.

Thanks, I appreciate that.:)

I could definitely have chosen "flexible" or "nimble" or some other random adjective. It didn't quite just pop into my mind, though -- I'm definitely familiar with the agile programming movement and have seen it in action in very positive ways. (I'm sure it can go horribly wrong, just like anything.) So, the title isn't completely an accident. I do want to evoke some of the agile manifesto: focus on interactions and individuals, responsiveness in the face of change, and so on.

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.

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.

If you though that I didn't understand what "packaging" was you're a clod. The discussion about if sets of packages can be aligned in rings whether multidimensional or not is "marketing" in the purest sense, they aren't and will never be rings, its an attractive term that you're familiar with that they are using to sell the concept. This is a top down approach to solving what could be and arguably should be a bottom up methodology. In essence its about control or more specifically a small group's vision of

There are packaging projects that are about meaningful software development: Guix and the original nixos.org have substantial improvements over the current deployments methods and systems like fedora's rpm or even debian's deb.The thing is, by providing better packaging and deployment, you speed the adoption of newer and better software. Debian is the best example of the price cumbersome system impose. Developers just refuse targeting it since it's too involving so Debian is forced to rely on it's own packa

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.

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 li

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...

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.

It depends in what you are meaning for " a very basic system on top of which all other distros are based."
Why the same basic system has to be the same for a student, for a group, for a school or a goverment server?
This is more marketing . It reminds me the time, after a gazillion bugs/error or hardware misconfiguration you used ti fullfil a w95 setup. Whoa!!!! and then what?
You have the very basic system...doing nothing.
Cmon men, just fire up a network installation disc, grab the packages you need and

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.

It allows small working groups to focus on their areas of interest without broader impact and thus parts of Fedora can evolve semi-independently of one another. Level 0 will be top down but Level 2 may be very agile where all the stakeholders and just meet and come to a quick agreement.

There's more truth to this post than I'm comfortable with, actually. How sad is it when people can't just articulate a clear plan of action - something that anyone familiar with Fedora would be able to, you know, start hacking away on.

you know how sometimes you run into a word a few times, then don't see it for years, then this word pops into your head for some unknown reason and a day or two later, BOOM!, there it is.kinda freaky.anywho, the word in this case is 'remunerated', which you misspelled here 'renumerated', which is kinda how it was brought to my attention years ago.and stay off my lawn.

Let me rephrase what's going on: Matt Miller is unhappy about the state of Fedora, but he can't really articulate exactly what he's unhappy about and how exactly would he have an imaginary uber-developer fix the issue. When you get rid of buzzwords and marketing speak, there's no substance left. How sad.

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 s

To further the comment on the huge size of the "Everything" repository that is Fedora - I think F18 x86_64 is around 40+ Gb with updates, so, yes it is a huge distribution.

I think it would be great if they would get off this release everything every six months kick they're on and figure out something better. If rings helps them get this accomplished, that's fine. I hate to think of the number of packages that get recompiled just to change the name of the package from f17 to f18 to f19 with no substantive

Back in the day (circa 2001, so RH 7 thru 7.3) before RH adopted YUM and the entire distrubtion fit on 1 CD, I was constantly frustrated by the unexplainable need of RH to make packages depend on completely unrelated stuff. I swear you couldn't install a 10kB console text editor without installing 50MB of dependencies. What possible reason could a console editor require libjpg? Things like that were common. IIRC, before YUM you had to type in every single package name x 20 or so packages (with exact vers