Let's ROCK
Dave Fancella <dave-/[email protected]> Thu, 25 May 2006 03:04:58 -0500
| Newsgroups | gmane.linux.distributions.rock.devel |
|---|---|
| Message-ID | <[email protected]> |
All, Ok, so I've just discovered rock linux and have been beating around the irc channel while fooling with it (Lucifer_arma). I thought I'd give my impressions so far, maybe some of you could respond and help me figure out whatever it is I'm trying to figure out. :) Some information about myself, more after the article. I'm one of the project admins for Armagetron Advanced. It's a recent elevation, that is true. :) I've been beating around the free software community at large for some time and have been involved with a few projects, put up some of my own code, etc. Currently I work as a freelance programmer, go to school pursuing a degree that might get me out of programming, and support a family of 5. My family, of course. In Texas. :) I'm looking at ROCK for a whole slew of things that I'll discuss at the end. First, the good: I'm more interested in community merits than technical merits. Not that I ignore technical merits, but for most projects, and definitely one the size of rock, the community is all important, since I'm looking to join that community. I'm finding the level of help available and the quality of that help to be very good, and I'm very grateful for it. I've managed to achieve most of my goals so far checking out rock, the only one I'm waiting for depends on a finished build of target crystal, which is in progress as I write this. And for that I'll have to be on my own, away from the irc channel. Rock is wonderful! This complete automation of the distribution build is awesome, and the ability to customize it is great. It looks to me very much like I can do all the things I've ever wanted to do with a LInux distribution, but was never able to do with what I ran thanks to all the marketing buzz-word compliance. Now, the bad: I have to say, for something the size of ROCK, having only 3 developers with commit access might be a dealbreaker for me. The whole purpose of SCM, svn in particular, is to enable many *many* developers to work simultaneously on a project. I don't know what the goal of this SubMaster thing is, it sure looks neat, but from where I'm standing it doesn't look like a functional replacement for developers with commit access. The obvious conclusion there is that developers with commit access are a bottleneck, and I've been around enough to feel confident in declaring that even if I don't see direct evidence. The size of the project is enough to justify that, all 3 developers would have to work on it full-time to keep up with the amount of maintenance work needed, to say nothing of developing for the future. Maybe you don't see it that way, that's fine. Diversity is all about disagreeing peacefully, isn't it? And I can peacefully be on my way if it turns out that's the best thing to do, or I can peacefully remain if that's the best thing to do. The extensive use of shell scripting is a double-edged sword. I put it as bad, but it really depends on response. From my point of view, if ROCK is interested in rewriting significant chunks of the shell scripts in Python, I'm interested deeply. I hate shell scripting for one thing, but I'm here looking for something I can extend and customize for several purposes, and to me that spells Python. It doesn't spell Perl or C or even C++. The advantage to the shell scripting is that it should be fairly straightforward to factor enough stuff out into separate scripts that any application can graft onto the top of the system and do real work. So if the core work is done in shell scripting, I could stick a python installer UI and admin interface without introducing another dependency (besides python). If you were to rewrite in, say, forth (heh), then I'd have to have forth and python. But with the scripting, I'd only need python. That's neat. But I don't want to sit on my own customizations, I want to give them back and see them incorporated into the project and see other people work on them because there's no way in hell I can make them the best they can be by myself. I seek to tap the community to improve my own work even as I think I'm improving theirs. It's a symbiotic thing, you know. :) So the extensive use of shell scripting is a bad thing for me if any of the following conditions apply: 1. The existing rock applications (mine, stone, etc) stay exactly as they are, which is the cause of the rough-edged ui and would well prevent the kind of customizations I'm wanting to make. 2. You guys want to move to Perl or some other language that drives me crazy and makes me have to take medication to deal with. Python isn't a requirement, I can handle other languages and would be happy to learn a new one, Perl and C are dealbreakers for me. 3. You guys refuse to take Python anyway for core apps, for a reason such as "This would cause parallel development of the same features, and we'd like to do it this way instead". Note that none of these conditions are necessarily bad for you. (Bad for me != bad for you) is True. Here's what I'm looking at ROCK for: What got me looking at it was my car computer project. I'm not just wanting to put a computer in my car, I'm wanting to assemble a Linux distribution that other people can use to put computers in their cars. ROCK is an ideal platform to do this just like it is. After that, I resurrected an old idea we'd tossed around in Armagetron Advanced, the idea that we could put up a linux distribution that installs itself with everything you need to run a high quality game server for our game. ROCK is a good platform to do this. Add dependency tracking to the packages and it's a great platform. Don't know if it's ideal or not. This leads logically to my general frustrations with current linux distributions. I left windows because I didn't like being shoehorned into an operating system, and now I'm feeling more and more like that's happening with Linux. I used to think there was no help for it and I was looking at gentoo to mitigate the damage to some extent, but ROCK has the potential to free me from it completely. I'd like to offer (for sale and for free download) some specialty linux distributions. I have a highly customized KDE setup that's geared towards being useful rather than a copy of Windows, I'd like to maintain that setup in a distribution for new Linux users, and that I can update easily and use it to upgrade my own systems. I'd like to have a specialized "Home server" distribution for running my home server, others could use it to run servers in their homes. The time is soon to come when average people who just read email or whatever will need home servers, and I think I know what's needed to build it. There's other things, but it basically spells a personal commitment to ROCK, to extending rock to add things that I need (that are too difficult to add to other distributions because their plumbing is already too bloated with buzz-words), and to using it for all of my own needs. I figure I can finally have a say in how my distribution is put together, how it's organized, and how it works, and that can't be achieved by joining the MandrivaClub. That's worth a lot to me, and I'm finding ROCk to be a very big find for me, one of those things that shatters fundamental perceptions of the world. Sorry this is so long, thanks for reading, thanks for making this thing, I hope it works out for us. :) Dave