The Cygnus Tree and Free Software Maintenance
An anonymous reader writes "Michael Sokolov (a Special Agent of the International Free Computing Task Force - and that's not a joke!) has published an interresting article about how is maintened gcc, gdb and the GNU compilation toolchains on
his ftp site
(also send to several related mailing lists - gcc, gdb, etc..)
It points at some problem and one may think that Cygnus-Redhat is again trying to take over the linux world... but that's not the point." The conspiracy theorists will definitely find room for conspiracy, but really this looks like a major issue for development, and one that warrants discussion.
Michael Sokolov "maintained" the gcc toolchain (for the PalmOS) much in the same way an armed gunman maintains his hostages in a bank holdup. After hijacking the (Palm) gcc project from John Marshall ("official" maintainer who works for Palm, see his earlier comment) he bombarded the palm-dev-forum incessantly, ranting about how his toolchain was better and personally attacking anyone who voiced an opinion otherwise.
Eventually, the list owners (Palm) banished him from the forum, and hopefully that's the last Palm developers have seen or heard of him. I don't doubt that he's a great programmer, but his back-handed ways of going about "maintaining" the gcc toolchain have made him quite a few enemies. Slashdot would be wise to look these things up before proclaiming him some sort of anti-cygwin hero.
--
Have fun: Join D.N.A. (National Dyslexics Association)
Linuxconf is monolithic and it doesn't work very well. netcfg is so much nicer than linuxconf primarily because it does just one thing. Kudzu is monolithic and while it does work remarkably well at a few things (network cards and video adapters), but it's not transparent (monolithic, after all) and in cases where you wish it would do nothing it becomes clear that it's not clear what it does.
In what does RH prevent you from mangling the whole of /etc with vi(1)?
There are tools (those above?) which seem to keep shadow copies of some config files. Your hand edits can get lost. I'd tell you which ones, but my list would be hit or miss. I'm sure the RH documentation lays it all out clearly so I refer you there.
what is it that bothers you so much about Redhat apart from the fact that they try to make GNU/Linux palatable to newbies? And if it's that fact mostly, then I have to ask you why?
What bothers me about it is that there are very few computer newbies around. Most linux newbies come from Windows, and the RH model (followed by quite a few others too) seems to be "make linux look like Windows". I don't see any efforts to teach the unix ways (examples: stdin/stdout, X server vs. X client, text! text! text! config files...). Creating Windows all over again going the wrong way.
Excuse my ignorance, but could anybody fill me in on the "International Free Computing Task Force"?
What kind of an organization is it?
Who are the officers of the organization?
What is their charter?
Where is their headquarters?
Is it a for profit organization or a non-profit organization?
What are some of their past activities?
Are they affiliated with any public or private companies?
Are they affiliated with any governments?
Are they affiliated with any universities?
Can anyone join the task force?
What credentials does one have to poccess to become a member?
How many members do they have?
I'm just curious about this organization because I have never heard of it before.
-- Weiqi Gao weiqigao@speakeasy.net
Download is slightly more involved (pull down a downloader, then get the downloader to pull down the many pieces), but the real screw is after installing: the file system is way suckier now: The new / is not the same as c:\ ! to get to C:\ you need to use /cygdrive/c or //c/ Blech!
Will gcc 3.0 be able to pre-compiled headers ?
If I remember correctly Corel contracted Cynus to add this functionality to egcs and if my ex-cygnus contact is to be believed it was finished and works. ( Note: they used mmap to simply dump the compiled headers : neat )
Well, I guess there's a topic that warrants discussion, but I don't think it's the compilation toolchains.
I took the time to follow the links to Mr. Sokolov's verious postings. He reminds me of me when I was much less mature: carefully argumentative, inflexible, willing to drive others to distraction rather than yield to evidence. You know, an asshole.
I'm recovering. My recovery began when I realized that my technical skills counted for little when compared with my inability to get along with other people. I mean, I was losing out on cool projects and pay raises. I'm a different person today, believe me.
Play with the Special Agent if you will. I'm more inclined to let his comments go without specific reply and let reality eventually catch up with him.
Anyway, what warrants discussion, IMHO, is how to accelerate the maturing process. Personally, I wish that someone had simply fired me (now *there's* a slap with a two-by-four), or let me know that *I* wasn't getting the cool project, or that *I* was getting the miniscule raise. Something, *anything* to let me know how the world saw me (Oh wad some power the giftie gie us...).
668: Neighbour of the Beast
http://minnie.cs.adfa.edu.au/ Quasijarus/tmachine.html
Another project of Quasijarus and the demented mind of Agent Sokolov.
And if a Unix environment is what you're trying to emulate (isn't that the whole idea?), there's something very appealing about typing cd / and seeing /etc /bin /home ...
Symlink from your home directory to C:\foo if you want Cygwin to deal with the Windows idea of a filesystem.
It's worth getting used to Cygwin's file system.
~
~
Umm... Red Hat did not write Linuxconf; they simply use it. So if it's technically flawed, it's not because Red Hat designed it that way or built it that way.
I'm not him, but if linuxconf is what he was talking about, RedHat is guilty of choosing to use it as he suggested. In most cases, disliking RedHat is disliking the things they chose to include.
Oh no, I don't have any firewalls! I am an agent of the International Free Computing Task Force, and firewalls are by definition an obstacle to Free Computing that must be brought down. When I ordered my dedicated ARPA Internet connection, I instructed my ISP very clearly to make my connection wide open without any firewalls whatsoever.
'Nuff Said.
One of these days i'm going to find this 'peer' guy and reset HIS connection!
Blah, blah monolithic. You still have the option to not use linuxconf(1), just like I didn't when I used to use RedHat. And we have a basic misunderstanding about the term monolithic here: providing a (arguably) nice visual interface to a lot of utilities and /proc fiddling is not the same as being monolithic in my book. Would you consider smit(1) under AIX to be monolithic? Or are you using monolithic as short for "stuff I don't like"?
There are tools (those above?) which seem to keep shadow copies of some config files.
I can't recall any from my RH days, and I feel obliged to remind you that there isn't any tool you are forced to use. right?
What bothers me about it is that there are very few computer newbies around. Most linux newbies come from Windows, and the RH model (followed by quite a few others too) seems to be "make linux look like Windows". I don't see any efforts to teach the unix ways (examples: stdin/stdout, X server vs. X client, text! text! text! config files...). Creating Windows all over again going the wrong way.
You really need to go out more if you think there aren't a lot of computer newbies around. Linux newbies may come from the Windows, Macintosh or Big Blue sky world. There is no need for them ro become deft sysadmins to use their Linux box, unless they plan to follow that unfortunate career path (oops, gratuitous flamebait >:-). Although, I'm not sure what you mean by "Unix ways" (which UN*X? SysV flavored or BSD flavored?), you can find the kind of documentation you request here, there and everywhere. I don't know how they could go about "teaching" it, but then again, I never took of the courses they offer...
And, frankly, all this talk of "making it look like Windows" is quite boring and inaccurate. The only default installation that tried to mimic the Windows look was that fvwm95 thing by RH, but they have moved out from it a long time ago. Even then, you still had the option to customize it, right?
--
Information wants to be beer, or something like that.
who's being silly? I said I hadn't looked, and it is true that it's something that changed between B20 and 1.1, a change that I think is a mistake... sheesh! Don't be silly ;)
I don't want to make a big deal about this, but that line strikes me as emblematic of why programmers (and particularly unix) are considered un-userfriendly. First, that's not the reason that I want it or use it. I want Unix-like tools (bash, emacs, grep, etc.) in the Windows environment. If I didn't want the Windows environment, I'd just run linux. From cygwin's bash you can launch DOS/windows apps, such as Perl, but it is totally screwed up if the pathnames are wrong.
But second, don't make something incompatible that doesn't need to be. There's no particular overlap between windows's default directory names and Cygwin's, so they live quite nicely superimposed atop one another. And, I like using bash filename completion. It would be even nicer if they'd convert the slashes, because some programs (perl for the scriptfile name) won't take 'em the bash way.
I have no use for software that hides the Windows environment... or as I said, I already have it: Linux (yes, or one of the BSDs, or even others).
whoops, I lost the meat of my comment and just kept the gripe. The meat was, thanks for the tip. It didn't work right off the bat, but I can see the mounts so I'll be able to change them.
I would hardly call it a "major issue for development".
Putting it on Slashdot is like shooting gophers with a double-barreled shotgun. Sure, it'll probably solve the problem, but the gore left behind will disgust messy.
That's V1.1. Read the V1.4 posted instead.
Note that Cygnus isn't just some greedy corporation -- it employs many of the hard-core free software engineers which make up the FSF. These people aren't being held at gunpoint to work there -- they work there because they think it's a great deal to be employed full-time to contribute to free software.
When Cygnus "took control" of gcc from RMS, it was for very good reason. RMS had not been competently maintaining the source tree, and many would-be code contributors who had good solutions to genuine problems were getting increasingly disgusted. The more gung-ho of them formed splinter groups, while others simply walked away. It was a bad situation, and Cygnus dealt with it by starting their own source repository, contributing several remarkable improvements (like Jim Wilson's gcse), and going out of their way to gather up the various splinter-groups that RMS had alienated.
Many people got very excited over the "Experimental GNU Compiler System" and stopped even bothering to submit their code updates to RMS's "official" repository. When RMS finally relented and told Cygnus to go ahead and take over the job, he had essentially a dead project on his hands.
Cygnus is full of genuine FSF engineers trying to do what is best for free software. They are not outsiders trying to take things over.
Disclaimer: I am not in any way affiliated with Cygnus or RedHat. In fact, I pretty much despise RedHat
-- Guges --
If you read the article again you will see that is states that Sokolevs writings are on his ftp site, and there is also a link to the ftp site. I seems to be slashdoted already, so try here instead.
Phobos - Greek word for fear or flight
In general, I like to recommend that people do a little research before they take what Michael says too literally. Unfortunately, Google seems to have got bored with Michael's magnum opus (the page in which he describes his love for the GNU project is particularly fun), but it still lists many of the other mailing lists Michael has tortured over the years.
Is this Cygnus tree what Cywin32 is based on? I was recently digusted when I discovered it was no longer available. I have had Cygwin32 B20 since last summer and decided to see if there was an update available. 1) It took me ages to even find the old B20 release 2) All other references to Cygwin32 were a commercial release by Red Hat. Is there anywhere where I can get binutils, etc, for Win32?
Yes, please do follow that link into the GCC mailing list archive! And also read the followups to his post from the GCC engineers themselves. His article is full of inaccuracies and misstatements. (He later explains them as "tongue in cheek," but those kinds of comments would be completely inappropriate for something designed to be informative information for public relations purposes.)
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
-nt
I'm still trying to figure out what people mean by 'social skills' here.
He's obsessed with 4.3BSD, and is trying to recreate pristine sources of it so as to continue to use it well into the next millenium (with as few modifications as possible, of course).
He thinks that 10BaseT is the "evil intruder" in the world of network cabling; 10Base2 is acceptable, but 10Base5 is the One True Cable.
He made his own version of gzip and switched one of the bytes in the header; it's incompatible, but it's Sokolovian.
How do I know this? He used to work at CWRU before he made death threats against the president and VP of IS. Then they threw him in the nuthouse. Apparently he's loose again and on the rampage.
There's already a huge discussion on the gcc mailing-list. Unfortunately for this `free agent', some of his facts are dead-wrong. For instance, Cygnus never did take control of gcc development. In fact the steering committee of former EGCS/now gcc has always been very careful to include representatives from everywhere... and never been controlled by former Cygnus/now redhat. Likewise, the EGCS vs. gcc issues were solved handsomely, thanks to large diplomatic efforts from people involved, so that the project could go on without bump, and with all parties concerned satisfied. Except for some stupid people who are ready to yell `conspiracy' every time something like this appears, there is absolutely no political controversy with the Cygnus tree. Namely, those issues are developer-only, and fairly boring to the mundane user. This has to do with somewhat largish portions of the binutils, gas, gcc, trees being shared, and this increasingly leading to troubles thanks to the differing release schedules of all threes, and a growing need to merge everything in a single CVS repository to avoid needless administrative work. Now, if you want a developer's controversy, take linux's binutils. Those are mostly developped by H.J.Lu, who is doing a great job, but is not playing ball with neither the gcc team nor the binutils team (he's notorious at not stopping to explain what he's doing, and then griping three months later that his work was not included). In fact, by churning private release after private release of binutils from development source, he's rendering a disservice to the open development community at large: since the linux crowd is happy, there is not much pressure to do actual new releases of the real binutils main work, and there is not much test of that work occurring either. This can become serious. It looks more and more like yet a new version of the gcc vs. pgcc split, and we all know how bad this can become, don't we ? (think emacs vs. xemacs)
The 'Cygnus Tree' that he talks about has existed for quite some time now; I know it existed when I first built GCC 2.8.1 back in October of 1998. All it really boils down to is that most of the GNU projects can be put into a directory with a single large makefile at the top level that runs through each project in turn, and already knows which ones have to be made first. The GCC and GDB distributions already come made with that structure, because of the number of other projects they're based on. (Like libiberty, which contains a lot of library routines like the extended GNU getopt that aren't guaranteed to exist on all systems.)
He's not the only one who would like to see a full 'tree' release, but he's probably the only one who considers it some massive coverup and mismanagement that has to be dealt with as opposed to just different project groups having different release schedules.
-- Bryan Feir
Reading the article it seemed to me that at least part of the problem here is that CVS is making it difficult to work with multiple repositories linked in at various points in the tree. Wouldnt BitKeeper help here?
http://www.bitmover.com/bitkeeper/bk03.html
Creating a monolithic CVS repository is one answer, but its not the only answer.
Don't be silly, you can still have c:\ and / be the same thing. Just use the mount command: mount -f c: / or something like that. You may need to umount / first.
It's my understanding that the difficulties are mostly organizational, not technical. Dumping the GCC sources into the big combined CVS archive is easy. Adjusting the way the GCC, GDB, and binutils developers work, so they don't step on each others' toes, is somewhat harder.
Regarding Bitkeeper, yeah it's nice, but it isn't free software, and the FSF requires the official archives of GNU projects to be run with 100% free software. So it is not an option at this time.
You might want to look at:
- http://gcc.gnu.org/steering.html
- http://gcc.gnu.org/gccmission.html
- http://gcc.gnu.org/releases.html#timeline
for more details on the exact relationship between GCC development, the FSF, and Red Hat.article at gcc mailing list archive on gnu.org
Boffoonery - downloadable Comedy Benefit for Bletchley Park
Could you see this as Cygnus/RedHat being the evil agents in the Matrix while the International Free Computing Task Force are the good guys?
The Cygnus tree is of course the Matrix. I think I'll jump in.
:wq!
Grmbl... On e of these dayes I'll make a cron job to automatically wget all URLs from fresh /. articles.
I think, therefore thoughts exist. Ego is just an impression.
Well, then, here's my bit of karma-whoring for the day; I yanked my copy out of cache and dumped it here.:)
Karma: Excellent, but still won't get you laid.
Here is the copy that was send to the gcc mailing list: http://gcc.gnu.org/ml/gcc/2000-09/msg 00035.html.
Go on, pretty please? At the very least, please read the second definition here.
This /. article is blody useless without the URL of Sokolevs writings.
I'm still trying to figure out what people mean by 'social skills' here.
That box is probably a Redhat box. I was looking for Redhat's mirror of the email to share the load and noticed this:
[paulm@beefcake package]$ nslookup gcc.gnu.org
Non-authoritative answer:
Name: gcc.gnu.org
Address: 205.180.83.71
[paulm@beefcake package]$ nslookup sources.redhat.com
Non-authoritative answer:
Name: sources.redhat.com
Address: 205.180.83.71
Boffoonery - downloadable Comedy Benefit for Bletchley Park
Is it a good idea to have them so interdependent?
What I mean is that not everyone who uses GCC wants to use gdb, are there any possible gotchas involved in making them all share so much? I realise they have already been part of this tree for a wile, but that doesn't mean there can't be problems that have already been introduced (does it?)
I'm not trying to argue against merging anything, as I know next to nothing about the internals of any of the tools, I'm just curious.
thanks to anyone who can give an answer,
jon
--
--
Please do not use this document as toilet tissue
Generally I mistrust every Linux company that goes public. Which means they work more for the shareholder than for the customer...
Use The Source, Luke!
And what was it with the leadin about conspiracies. There is nothing conspiratorial about this, just some historical hiccups.
C.
I sometimes write stuff
You're right. I generally do read articles before I post, but in this case I wasn't intending to comment on the article at this stage, just point out where it could be found so other people could also post on topic with eaze. I freely admit that in hindsight my second post is redundant and if it gets marked as such I certainly won't be getting suicidal over it.
Boffoonery - downloadable Comedy Benefit for Bletchley Park