Consider this scenario. A developer is running Fedora rawhide on one of
his spare machines. The developer is not directly involved in the
Fedora process. He just likes to keep track of the latest changes
because he is a hobbyist. Fedora is also his favorite distro, so he
likes to know all the latest news, so he reads mailing lists such as
this one every now and then.
Now consider this. He notices that one of his favorite applications has a bug. He has two choices, fix the bug himself or file a bug report. If he chooses to file a bug report, he must first find out where the erroneous software is hosted. This probably involves a Google search or two, not so bad. Once he finds the site where the package is maintained, he must now find where to file the bug. He must now search the site for the ubiquitous Bugzilla. Now he must most likely register an account with that Bugzilla. Finally, after this whole process he must submit the bug report. Then he might track the bug by e-mail until it gets fixed (but most likely he will just forget about it and hope the maintainer gets around to fixing it). The developer could have just chosen to submit the report to Red Hat's bugzilla, but he is conscientious and knows the problem will probably be fixed sooner if he submits it directly to the project owners bug database.
Now consider the scenario where the developer can yum install --source some-package, and have it install the source along with all the dependent source packages. Then he would be able to cd to some dir where he can type make and the source will compile without issues or missing headers. Then he goes into the source dir with his favorite editor and makes a couple mods to the source. He re-compiles probably a few times and now the bug is fixed. He is no longer annoyed by the bug in his favorite app, since he typed make install and the changes automatically took effect on his machine. After maybe a day or two of running with the changes, he is sure he hasn't b0rked anything so he creates a patch and submits it to Red Hat's bugzilla. He doesn't have to worry about running around willy-nilly finding the master maintainer because he knows the Fedora maintainer already knows the lead developers and will submit the patch upstream eventually. The patch then makes its way into rawhide for more widespread testing. People on the mailing list thank the person for fixing their most hated bug. The developer feels great for helping out others who were annoyed by the same problem. The feeling is addictive and now Fedora has gained a semi-casual code contributor who most likely fixes little annoying things that the main developers couldn't be bothered with.
I, as a programmer and a Fedora hobbyist, definitely prefer the latter scenario as opposed to the former. Such an enhancement in yum would make it so much easier to hack buggy code. It would also make it easier to fix critical (or just annoying) bugs faster and perhaps deploy and test the fixes before rawhide trackers even see them. Plus, being able to fix a bug and submit a patch for it in one centralized place (RH Bugzilla) is so much more satisfying than signing up for countless Bugzilla and CVS accounts. Besides, for those who have the skills to fix the bugs instead of just reporting them, why not make it easier for these people to actually fix the bugs? Isn't this what "open source" is all about. It doesn't make sense for any distro to make it harder to install the source than it is to install binaries. Doesn't make sense at all.
This type of change would make room for more casual code contributors. Let the more dedicated Fedora/Red Hat developers worry about the semantics of getting fixes upstream. I bet even some of the more hardcore developers would soon find this functionality indispensable too.
On Sun, 27 Nov 2005, seth vidal wrote:
> > > yum install yum-utils
> > > yumdownloader --source package
> > >
> > That's useful, thanks.
> > Might this functionality ever be built into yum though?
That's a really good answer if you want developrs to feel that they
are being taken seriously.....
Do you think there is a fundamental problem with people being able to get
the sources easilly? Is yum fundamentally flawed for this? Is it too much
work to put in yum?
We might appreciate decisions better if we know why they are made in a
fedora-devel-list mailing list