Episodes from the evolution of Fedora
One of the core developments in Fedora 7, so to speak, is the merging of the "Core" and "Extras" distributions. As of the next release, it is all simply "Fedora." Given the nearness of the release, one would have thought that this merger would have happened some time ago. As it happens, that merger is just being finished up now. Much of the ground work was done over the preceding months, leading up to the actual joining of the repositories, source management subsystems, and build systems happening now. As of this writing, the new source archives and build systems are up, but the flow of packages into the Rawhide distribution has not resumed.
There has been a small amount of concern voiced by a few maintainers of packages formerly found in Extras. In the good old days, they could post an updated package at any time and have it go right into the repository. Now that there is only one repository, the whole thing is currently frozen in the run-up to the release. How to work in the new, unified environment is still not entirely clear to all Extras package maintainers. Overall, though, the number of glitches from the merger appears to be small - so far. More information can be found in the draft post-merge FAQ.
Red Hat's distributions have long been known for including software which is not necessarily completely mature. Over the years, this company has pushed in bleeding-edge technologies like ELF binaries, glibc2, SELinux, and more; the end result has often been a combination of user pain and accelerated development of the code in question. Fedora is in many ways the true descendant of Red Hat Linux, and it continues the practice of packaging very new technologies. Some users are beginning to wonder if that practice has gone just a little too far this time, though.
The software in question is the Nouveau driver. This reverse-engineered code is an eventual replacement for the binary-only drivers supplied by NVIDIA. Someday, Nouveau will be the driver of choice for people with NVIDIA hardware, but today is not that day. The Nouveau driver is still in heavy development with a lot of problems to solve before it is ready for production use. But Fedora 7 includes it anyway so that people with an interest in trying out the new driver can do so.
Fedora 7 does not enable Nouveau for any system unless explicitly told to. In theory, anybody who turns it on should know what they are getting into; in practice, at least one user has already been burned by trying Nouveau in a situation where it did not work. So some voices have been heard to say that Nouveau has been included ahead of its time and should be removed. Fedora developers still want to include it, though:
Others say that a project as important as Nouveau should not be subjected to a tide of disappointed users who were lulled into trying the code before its time by their distributor.
Chances are that Nouveau will remain. There is one remaining issue, though: Nouveau is currently co-packaged with the stable "nv" driver that people are actually expected to use. So Nouveau cannot be updated without pushing out a new nv package. Given that Nouveau can be expected to evolve considerably over the life of Fedora 7, impediments to the packaging of updated versions seem like a bad idea. There is talk of splitting Nouveau into its own package, which seems like a more than reasonable way of solving this problem.
Finally, there is the issue of Python 2.5. That is the current version of the language, and the version which will be shipped with Fedora 7. The only problem is that the Zope content management system, which serves as the base for Plone (and others), does not work with this version of Python. So the current plan is for Fedora 7 to ship without Zope or the packages which depend on Zope.
Back in the days when Red Hat Linux fit on a single CD, a core component like Python would not have been updated until everything which depended on it was ready for the change. In fact, Red Hat Linux was glacially slow to move to Python 2 for just this reason. Fedora is a much larger distribution which lacks the same sort of firm central control, so it has become much harder to delay an update like this. And, unlike Debian, Fedora is unwilling to delay a distribution release until all such issues are worked out.
Some Zope users would like to see Fedora ship a "compat-python24" package so that Zope will continue to work. There is some opposition to this idea, though:
Jeremy Katz, the maintainer quoted above, would like to see a rule allowing a package maintainer to veto the addition of older "compat" packages so that they could avoid having to deal with these sorts of problems.
He seems likely to win this particular argument, meaning that there will probably be no Python 2.4 in Fedora 7. The implication is that interested people will end up creating a set of Zope and Python 2.4 packages for Fedora 7 and hosting them on a third-party server somewhere. It will be a small amount of extra hassle for affected users, but that can be worked around. The issue of security support (crucially important for a complex, network-facing system like Zope) should be considered by anybody wanting to run this code, however.
There have been suggestions that the maintainer of the Zope package should undertake the task of making it work with the version of Python found in Fedora 7:
There's a reason we have Fedora package maintainers instead of just automatically pulling in upstream tarballs and building them with rpmbuild -ta. It's because the role of the package maintainer is to make the package a _part_ of Fedora -- that's what makes Fedora a coherent distribution and not just a semi-random collection of packages.
In this view, making Zope work with Fedora's version of Python is much like making it work with SELinux or Fedora's init scripts setup - just part of the job of making a package for the distribution. Once again, this role was probably easier to carry out back in the single-disk days. In any case, the current Fedora Zope maintainer is not going to port Zope to Python 2.5 - that is apparently a rather large job.
This, too, will pass, and Fedora 8 may well be able to welcome Zope back
into the fold. In the mean time, though, the Fedora developers are trying
to figure out just how their distribution should react to issues like
this. As Fedora evolves and becomes more open to the community, it will
have to better define its policies and set them down so that developers
know what to expect.
Posted May 10, 2007 1:33 UTC (Thu)
by wtogami (subscriber, #32325)
[Link] (3 responses)
This Zope thing is unnecessarily overblown. Zope is a server-side application. It is perfectly reasonable for users to use Zope either on FC6 (which is supported until beyond the release of F8), or better yet RHEL5 or CentOS5 which may be much better suited for long-term Zope usage.
Fedora's goal is different from RHEL or CentOS.
Holding the release of Fedora 7 due to Zope or creating a non-trivial extra maintenance burden in providing compat-python24 and an arbitrary amount of compat-python24 modules hinders Fedora in the pursuit of progress.
Similarly, criticism of including Nouveau is overblown. Disabled-by-default means we get safety by default. Meanwhile we make it easy for testing and progress of Nouveau to happen. I suppose splitting it out into its own package is a good idea. We should also have better documentation describing *how* to safely test nouveau and back out if it fails.
One legitimate case of bleeding edge danger is the iwl3945 driver currently in the rawhide kernel. It has been getting better lately, but works poorly for most users, while causing nasty system-wide problems (I/O device freakout, ops, panic) for some people. Currently that driver *is* enabled by default in rawhide. We are considering disabling or removing it before F7 if we cannot make it at least safe (if not functional) to users by default.
Posted May 10, 2007 3:55 UTC (Thu)
by mattdm (subscriber, #18)
[Link]
Posted May 10, 2007 20:00 UTC (Thu)
by jospoortvliet (guest, #33164)
[Link] (1 responses)
Posted May 12, 2007 0:36 UTC (Sat)
by fyodor (guest, #3481)
[Link]
Posted May 10, 2007 3:24 UTC (Thu)
by vlima (guest, #4405)
[Link] (5 responses)
Posted May 10, 2007 14:15 UTC (Thu)
by jengelh (guest, #33263)
[Link] (3 responses)
Posted May 10, 2007 16:40 UTC (Thu)
by JoeBuck (subscriber, #2330)
[Link] (2 responses)
Posted May 10, 2007 20:36 UTC (Thu)
by vlima (guest, #4405)
[Link] (1 responses)
Posted May 10, 2007 20:50 UTC (Thu)
by jengelh (guest, #33263)
[Link]
Posted May 27, 2007 6:46 UTC (Sun)
by abans (guest, #45451)
[Link]
Posted May 10, 2007 7:43 UTC (Thu)
by addw (guest, #1771)
[Link] (1 responses)
So plone is broken, well it will get fixed eventually and python_2.5/phone combination will be fit to use in RedHat 6 (or whatever). This is as it should be.
I never cease to be amazed at the people who run serious production servers on Fedora. Why do this ? We all know that Fedora is leading edge and that things break occasionally; we also know that Fedora is not really maintained for many years.
If you want to run a production box install RedHat Enterprise (or CentOS if you want the free equivalent)[**]. It is rare that you need the absolute latest version of something for your server and once it is installed and working you want to just leave it alone other than applying the latest security/... patches.
Me ? I run Fedora on my laptop & development box; CentOS on my main server & RedHat or CentOS on customers' machines.
[**] Or Debian, SuSE, ... if you prefer one of those just-as-good environments.
Posted May 10, 2007 12:10 UTC (Thu)
by mattdm (subscriber, #18)
[Link]
The whole purpose of Fedora is to test/debug/... packages that are destined to end up in the RedHat distro.
Posted May 10, 2007 20:23 UTC (Thu)
by tseaver (guest, #1544)
[Link] (2 responses)
- APIs have been removed in Python 2.5, often without any kind of
Those issues are mostly minor, and might even be in the purview of a
Some issues, however, are likely too hard to fix as a package maintainer:
- The underlying API for C-based extension types now asserts on
- The implications of Python's new AST-based compiler for Zope's
This last issue is the one that the Zope community had expected to be
Posted May 10, 2007 20:25 UTC (Thu)
by tseaver (guest, #1544)
[Link] (1 responses)
Posted Oct 29, 2008 23:53 UTC (Wed)
by brouhaha (subscriber, #1698)
[Link]
I know, it's open source so if I don't like it I should fix it myself rather than complaining. But life's too short, so my solution was to stop using Zope.
Posted May 11, 2007 2:16 UTC (Fri)
by dwheeler (guest, #1216)
[Link] (2 responses)
Posted May 17, 2007 22:26 UTC (Thu)
by gvy (guest, #11981)
[Link]
Posted May 22, 2007 17:24 UTC (Tue)
by k8to (guest, #15413)
[Link]
It was anaconda, and the principle anaconda developer having departed.
Posted May 11, 2007 20:36 UTC (Fri)
by joey (guest, #328)
[Link] (1 responses)
Kind of a shame that LWN tends to fall back to the old standby of ragging on Debian's release cycle when it could instead just discuss how Debian has already solved the problem.
Otherwise interesting article.
Posted May 22, 2007 17:27 UTC (Tue)
by k8to (guest, #15413)
[Link]
The problem, to my mind, isn't so much the slow cycles but the stale software in the slow cycles. Maybe that's just a symptom. Testing still doesn't run on my now 10 month old hardware. Luckily I am empowered to address this problem myself.
Hi, Fedora developer here, with my own personal opinion on the Zope matter.Why is Zope a big deal?
Fedora's primary goal:
Rapid Progress of FOSS
Yeah, there does seem to be some hyperbole here. The article says "one user has already been burned by trying Nouveau" -- but the link goes to someone who tried the LiveCD and found it didn't work with Nouveau on their system, not someone who found it unexpectedly destroyed their monitor or caused them to lose data. In other words, a pretty minor "burn".overblown
I applaud fedora (and Red Hat) for their effort to propell the development Why is Zope a big deal?
of FOSS. There are risks, but I think the good effects surpass the risks.
Imho it was a good choice to include the new driver and python etc...
Hear! Hear! I run Fedora on my 3 most important machines, and I'm also glad to see these changes. I don't want Fedora to go overboard with experimental code which might destabilize my system, but the Nouveau (off by default) and Python 2.5 changes seem eminently reasonable.
Why is Zope a big deal?
Then there is the new pata/ide drivers. None of the test releases I've tried has
even booted...
Bugzilla #227207.
Episodes from the evolution of Fedora
While SUSE has success with libata... go figure.Episodes from the evolution of Fedora
But does SUSE work on vlima's system? The problem seems to affect his particular CDROM device, but not others.
Episodes from the evolution of Fedora
The install cd for opensuse 10.2 uses the old ide driver on my laptop.Episodes from the evolution of Fedora
Iow. they're cheating. :)
I was implying 10.3alpha. libata is only seriously used for SATA in 10.2.Episodes from the evolution of Fedora
I use last development kernel (2.6.21-1.3149.fc7), have this such problem too.Episodes from the evolution of Fedora
The whole purpose of Fedora is to test/debug/... packages that are destined to end up in the RedHat distro. It is done in public and with the lable ''distribution'' to encourage people to use/test it in a wide variety of situations/hardware, etc.Fedora is a *development* distribution
Fedora is a *development* distribution
The fact that Zope can't be run after compiling with Python 2.5 isEpisodes from the evolution of Fedora
due to a combination of factors, some of which are easier to work around
than others:
deprecation process (the 'OverflowWarning' exception type, for
instance, is just gone in 2.5, yet using it produced no warnings at
all under 2.4).
package maintainer to patch away (if they were the whole problem, then
Zope itself would have already added the forward-compatibility).
Zope's ExtensionClass, which is noted in the module headers as the
original inspiration for the abstract object stuff in Python. Again,
there is absolutely no clue when building / running Zope under Python
2.4 that anything will break.
"untrusted code" security model are unknown. Evaluating them
requires fairly deep knowledge of the Python internals *and* a
willingness to think hard about how they might be exploited by
malicious (or wrong-headed) code in templates and through-the-web
scripts.
the problem; the unintended backward-compatibility issues are just icing
on the cake.
I'll note as well that there is a Google Summer of Code project this yearEpisodes from the evolution of Fedora
aimed at getting Zope to work with Python 2.5, so this problem is likely
short-lived.
And after 17 months, including Summer of Code 2007 and 2008, there still isn't a release of either Zope 2 or Zope 3 that works with Python 2.5. :-(
Episodes from the evolution of Fedora
No, I think Python 2's introduction was delayed because of GPL-incompatibility concerns. <a href="http://mail.python.org/pipermail/python-dev/2001-February...">No, Python2 was delayed due to GPL-incompatibility problems.
Here's a sample post of discussions about Python 2 licensing</a>
(not specific to Red Hat in this case, but you can see that it WAS an issue.
IIRC they couldn't get Anaconda that easy onto 2.x too.maybe but...
Python2's introduction was delayed long after these concerns were resolved. The "problem" window persisted for six months or so, but Red Hat shipped out of date pythons for 3-4 years.No, Python2 was delayed due to GPL-incompatibility problems.
Weird comment about Debian in this article. After all, Debian didn't delay any release waiting for everything to work with one version of python; it instead packages multiple co-existing versions and allows holdouts that don't work with the newest version to run using an older version. There's was a lot of infrastructure work done by Debian (and Ubuntu) developers to support this.Episodes from the evolution of Fedora
*shrug*, I read the text as a description of a philosophy, that of resolving all important issues prior to ship. As a Debian user I certainly appreciate that.Episodes from the evolution of Fedora