[clc-devel] The road ahead
Hi there, [ this is rather long. my apologies ] With Per's retirement, I think it's important to take the time and discuss a couple of issues to keep CRUX in shape, and morale up :-). This mail contains a non-exclusive list of things I consider important. I'd like to propose that in the close future (first step), we focus mainly on three things (more on the individual point later in this mail): 1. getting 2.2 out, and having it working well 2. addressing issues we had even with Per on board 3. redistribute Per's work In a second step, let's have CRUXCon 2006 in autumn with as many CRUX devs as possible, and define a common vision for the future. This gives us half a year time to collect ideas and work on prototypes (i.e. for the 3.0 package management as discussed at the former two CRUXCon's). Also, I'd like to propose having weekly or bi-weekly IRC meetings on a defined weekday (i.e. wednesday), to allow slightly more focused discussion and allowing those with less interest to constantly idle on IRC to take part in IRC discussions. Simone suggested to list the dates on a wiki pages, which whould also allow to attach notes like agenda or results; However those meetings are supposed to me non-formal, and attendance is purely optional. ----- Notes on the items from the list: 1. Getting 2.2 out 2.2 is getting close, and we should make sure we have opt tested when we release it. I'm not sure how many of us have a 2.2 test install yet, but I plan to write some notes on how to install it in a chroot to make testing as simple as possible for everyone. We'll also need to update the handbook, and find out where to host the releases (the main file server up to now was fukt, to which no one besides Per has access). 2. Addressing current issues In no particular order: - Add more content to the wiki (howto's etc); we've been discussing this a couple of times already, there seem to be users interested in helping, we need to define some basic structures though to make it usable. This is not critical in general, but frustrating for those who'd like to contribute - write a port validator to detect potentially malicious or dangerous commands in Pkgfiles; run on contrib nightly or so; suggest its use on the relevant wiki pages - move the mailing lists (depends mainly on getting the subscriber lists and archives; I requested those, so as soon as we get them we can do the move). We'll also need list administrators for them - find a maintainer for prtsync (Jay originally wrote it but lacked time/interest, I added a number of quick fixes to address problems appearing during the test runs); there are a number of annoyances, missing features, and things to clean up; nothing too urgent though - define contact persons for certain subsystems; examples for this are: server maintenance, subversion, bug tracking, website accounts, prtsync, mailing list admin, release engineering, user account management and access control. A lot of this stuff currently ends up in my (and probably others') private inbox, which is slightly tiresome. - define a more democratic way do take decisions. Things like the core/opt separation or WiFi kernel module inclusion are typical examples for this, both were basically decided ad hoc on IRC by those online at that point in time. 3. Redistribute Per's work This includes - Per's ports - Handbook maintenance - Release engineering - pkgutils and ports(8) As for pkgutils and ports, there's nothing fundamentally wrong with the two (I know some of the community members tend to have different opinions :-)). However, during CRUXCon 04 and 05, we discussed a lot of ideas which pretty much imply a rewrite of large parts of pkgutils (which was Per's plan initially BTW, however I guess we'll have to take over here). This might be a good moment to collect the quite large number of ideas implemented in the various forks and rewrites, and define a subset of them we want to support in our package management utilities (either directly or by allowing extensions), also considering the various utilities on top of it (pkg-get/pkgsync, prt-utils, prt-get etc.). Obviously, this is a very crucial part of CRUX, and I feel that we should plan that carefully, to get both a powerful and PER/CRUX-like solution. Okay, so much for now, and sorry again for the length. Kind regards, Johannes -- Johannes Winkelmann mailto:jw@tks6.net Zurich, Switzerland http://jw.tks6.net
Johannes Winkelmann wrote:
Hi there,
[ this is rather long. my apologies ]
Hi Johannes. I think your length is quite fine. Ew..
Also, I'd like to propose having weekly or bi-weekly IRC meetings on a defined weekday (i.e. wednesday), to allow slightly more focused discussion and allowing those with less interest to constantly idle on IRC to take part in IRC discussions. Simone suggested to list the dates on a wiki pages, which whould also allow to attach notes like agenda or results; However those meetings are supposed to me non-formal, and attendance is purely optional.
This all sounds good. Perhaps weekends are best? Jaeger and I are often available on IRC during the workdays; but I won't always be able to ditch my responsibilities there to take part. I know the timezone difference is significant, and I don't think you guys should have to wait until midnight for us. Thus, maybe weekends are the answer?
We'll also need to update the handbook, and find out where to host the releases (the main file server up to now was fukt, to which no one besides Per has access).
I guess berlios is the most logical solution for this?
- write a port validator to detect potentially malicious or dangerous commands in Pkgfiles; run on contrib nightly or so; suggest its use on the relevant wiki pages
Wouldn't a fakeroot/pretendroot version of pkgmk be a simple and effective solution to this problem? I fear that a validator would be difficult to write [cleanly], and not all that hard to break.
- find a maintainer for prtsync (Jay originally wrote it but lacked time/interest, I added a number of quick fixes to address problems appearing during the test runs); there are a number of annoyances, missing features, and things to clean up; nothing too urgent though
Heh, yea..
- define contact persons for certain subsystems; examples for this are: server maintenance, subversion, bug tracking, website accounts, prtsync, mailing list admin, release engineering, user account management and access control. A lot of this stuff currently ends up in my (and probably others') private inbox, which is slightly tiresome.
Let's list these subsystems on the Wiki, and let people sign themselves up for things that interest them.
- define a more democratic way do take decisions. Things like the core/opt separation or WiFi kernel module inclusion are typical examples for this, both were basically decided ad hoc on IRC by those online at that point in time.
Perhaps email threads containing "PROPOSAL" or some other tag in the subject would allow further participation, and provide more accessible documentation for our decisions. -- Jay Dolan jdolan.dyndns.org A: Top posting. Q: What's the most annoying thing about usenet? A: Because it's annoying to read. Q: Why is top-posting bad?
On Thursday 09 March 2006 14:21, Jay Dolan wrote:
- define a more democratic way do take decisions. Things like the core/opt separation or WiFi kernel module inclusion are typical examples for this, both were basically decided ad hoc on IRC by those online at that point in time.
Perhaps email threads containing "PROPOSAL" or some other tag in the subject would allow further participation, and provide more accessible documentation for our decisions.
I just read your mail Jay. This sounds like a good idea. Mail clients can easily filter those messages by its subject and - as long as nobody breaks the thread - the proposals are clearly arranged. bye, danm -- Daniel Mueller Berlin, Germany OpenPGP: 1024D/E4F4383A
Hi, On Thu, Mar 09, 2006 at 23:26:28 +0100, Daniel Mueller wrote:
On Thursday 09 March 2006 14:21, Jay Dolan wrote:
- define a more democratic way do take decisions. Things like the core/opt separation or WiFi kernel module inclusion are typical examples for this, both were basically decided ad hoc on IRC by those online at that point in time.
Perhaps email threads containing "PROPOSAL" or some other tag in the subject would allow further participation, and provide more accessible documentation for our decisions.
I just read your mail Jay. This sounds like a good idea. Mail clients can easily filter those messages by its subject and - as long as nobody breaks the thread - the proposals are clearly arranged.
Okay, I think that's a good idea. In addition, I'd propose the following: if a proposal is submitted, every CRUX developer can vote +1, 0, or -1. Also, one can vote "VETO" which is a very strong -1, and means that the change has to be discussed in furthermore. If enough developers (n) are in favour of a change immediately, the change can be committed. If enough developers (m) are in favour of the change after waiting for (d) days, the change can also be committed. Values which seem to make sense to me: n=3, m=2, d=5 I know this is a bit strict, but I think it's better than the frustration of putting time and energy into something, making a proposal here and getting hardly any reaction. ------------------ Example how this might work (Assuming we still count danm to the devs) 9.3. 2006: - I propose to have bi-weekly IRC meetings - danm says +1 - jdolan says +1 (no more comments) 14.3.2006: - I add a wiki page with the dates, and announce that we now have official IRC meetings :-) Another (semi-fictive) example: day1: jue proposes to use .14.1 glibc headers: cptn: +1 sten: +1 danm: +1 jue goes ahead and commits the change ------------------ How does that sound? (the attentive reader will notice that this is is a chicken-and-egg situation here) Also, I imagine using flyspray for that process could be nice, since all the comments and votes would then me on one page. I'll have to do a local installation to play with it a bit. Kind regards, Johannes -- Johannes Winkelmann mailto:jw@tks6.net Zurich, Switzerland http://jw.tks6.net
On 16/03/2006 17:41 Johannes Winkelmann wrote:
If enough developers (n) are in favour of a change immediately, the change can be committed. If enough developers (m) are in favour of the change after waiting for (d) days, the change can also be committed.
Values which seem to make sense to me: n=3, m=2, d=5
I vode +1 for the idea I'd only possibly choose a slightly bigger value of d, around 7 or 8.
Also, I imagine using flyspray for that process could be nice, since all the comments and votes would then me on one page. I'll have to do a local installation to play with it a bit.
I was thinking the same, my ony concern is that it will drive away discussion to the ML and transform the bugtracker in a sort of forum, and we all hate forums, right? :) Regards, Simone -- Simone Rota Bergamo, Italy - http://www.varlock.com
Hi, On Thu, Mar 16, 2006 at 17:54:47 +0100, Simone Rota wrote:
On 16/03/2006 17:41 Johannes Winkelmann wrote: [...]
Also, I imagine using flyspray for that process could be nice, since all the comments and votes would then me on one page. I'll have to do a local installation to play with it a bit.
I was thinking the same, my ony concern is that it will drive away discussion to the ML and transform the bugtracker in a sort of forum, and we all hate forums, right? :) True, however it has three rather nice properties:
1. It has a (report) number we can refer to later 2. Going back, it provides a summary why a proposal was rejected (if it was), without clicking through a number of mails in the archive. 3. It's easier to fake a "From:" header from someone who's on holidays, for example, than to obtain his flyspray account data; not sure if that really counts though :-) We can start either way (ML or flyspray), and see how it feels. Thanks for your input, Regards Johannes -- Johannes Winkelmann mailto:jw@tks6.net Zurich, Switzerland http://jw.tks6.net
Johannes Winkelmann [2006-03-16 17:41]:
Okay, I think that's a good idea. In addition, I'd propose the following: if a proposal is submitted, every CRUX developer can vote +1, 0, or -1. Also, one can vote "VETO" which is a very strong -1, and means that the change has to be discussed in furthermore.
If enough developers (n) are in favour of a change immediately, the change can be committed. If enough developers (m) are in favour of the change after waiting for (d) days, the change can also be committed.
Values which seem to make sense to me: n=3, m=2, d=5
[...]
How does that sound? (the attentive reader will notice that this is is a chicken-and-egg situation here)
+1 Regards, Tilman -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?
Hi, On Thu, Mar 09, 2006 at 08:21:47 -0500, Jay Dolan wrote:
Johannes Winkelmann wrote:
Hi there,
[ this is rather long. my apologies ]
Hi Johannes. I think your length is quite fine.
Ew.. Heh...
Also, I'd like to propose having weekly or bi-weekly IRC meetings on a defined weekday (i.e. wednesday) [...] This all sounds good. Perhaps weekends are best? Jaeger and I are often available on IRC during the workdays; but I won't always be able to ditch my responsibilities there to take part. I didn't really consider that an issue since you two are quite present, however I didn't mean to keep you from working. I fear I can't judge this myself, however I would guess that your "normal" presence time would be perfecty fine, considering that we europeans probably can't make it each time; especially since you two are often around anyway, so we'll propably pre- and post-discuss (don't think those are actual english words) issues.
However as I said, this is really up to you to decide. I'd prefer a work day since I should be able to reserve it in most cases, which I can't on the weekend.
We'll also need to update the handbook, and find out where to host the releases (the main file server up to now was fukt, to which no one besides Per has access).
I guess berlios is the most logical solution for this? Well, we used to have a 100MB quota on berlios (which we hit with the subversion repository + httpup mirror already), so I fear that won't really work out.
Just to make sure we don't forget it: the mirrors sync against fukt too, we'll have to contact those mirror maintainers if we move it.
- write a port validator to detect potentially malicious or dangerous commands in Pkgfiles; run on contrib nightly or so; suggest its use on the relevant wiki pages
Wouldn't a fakeroot/pretendroot version of pkgmk be a simple and effective solution to this problem?
I fear that a validator would be difficult to write [cleanly], and not all that hard to break. I agree with the later. However, I actually think that currently, most
I think we should consider that anyway. However, this means that we expect everyone using our ports to use that particular version of pkgutils. If you consider how many users "accidently" end up with Han's pkgutils (and ask why we changed pkgutils to not work as root) I think that's a dangerous assumption, therefore I'd rather see both a validator and a safer pkgmk implemented. problems the validator would catch would be unintended ones (rm -rf $PKG /usr), or even things like packaging errors (files in /usr/local) which I didn't mention before. Also, it might be a good way for people to validate whether their first ports follow the guidelines, so the validator could enforce some rules we define. As for the implementation, I wrote a prototype at last years cruxcon, I'll try to find that one.
- define contact persons for certain subsystems; [...] Let's list these subsystems on the Wiki, and let people sign themselves up for things that interest them. Good idea.
Regards, Johannes -- Johannes Winkelmann mailto:jw@tks6.net Zurich, Switzerland http://jw.tks6.net
Hi Johannes On Thursday 09 March 2006 12:36, Johannes Winkelmann wrote:
In a second step, let's have CRUXCon 2006 in autumn with as many CRUX devs as possible, and define a common vision for the future.
This could be^W^W is a problem because the CRUX developers are cluttered around the world and travelling expenses are (very) high. On the other hand I (personally) think not all devs are THAT interested in CRUX that they would a) spend the money for fly/hotel/etc and b) apply one week for vacation. And, to mention it, I know that I can't speak English good enough to back up my ideas/wishes/proposals with clear, well formed arguments :-) However, I'm glade to see that you guys do so much for CRUX. It's impressive.
Also, I'd like to propose having weekly or bi-weekly IRC meetings on a defined weekday (i.e. wednesday), to allow slightly more focused discussion and allowing those with less interest to constantly idle on IRC to take part in IRC discussions.
This is a good idea.
- move the mailing lists (depends mainly on getting the subscriber lists and archives; I requested those, so as soon as we get them we can do the move). We'll also need list administrators for them
-> crux.nu?
A lot of this stuff currently ends up in my (and probably others') private inbox, which is slightly tiresome.
Ouch. Maybe you should set up vacation(1) with "No sé nada.".
- define a more democratic way do take decisions. Things like the core/opt separation or WiFi kernel module inclusion are typical examples for this, both were basically decided ad hoc on IRC by those online at that point in time.
Heh yeah, I've collected some "requests for enhancements" I'd like to discuss. Could you^W someone with admin permissions setup an "open" wiki-page? (open=anonymous write access) - Or shall I post it to the mailinglist? But your question was 'Who decides and says "Oh cool, yes" or "No way man!"' ..oO(Maybe a Web Voting System with yes/no push buttons..)
[..] ideas which pretty much imply a rewrite of large parts of pkgutils (which was Per's plan initially BTW, however I guess we'll have to take over here). This might be a good moment to collect the quite large number of ideas implemented in the various forks and rewrites, and define a subset of them we want to support in our package management utilities [..]
Let's reinvent the wheel again and again. RPM and folks were written for pure evilness .. with all it's vicious functions like "true dependencies checking" or "pre/post-install/remove scripts". bye, danm -- Daniel Mueller Berlin, Germany OpenPGP: 1024D/E4F4383A
Hi Daniel, On Thu, Mar 09, 2006 at 19:53:06 +0100, Daniel Mueller wrote:
Hi Johannes
On Thursday 09 March 2006 12:36, Johannes Winkelmann wrote:
In a second step, let's have CRUXCon 2006 in autumn with as many CRUX devs as possible, and define a common vision for the future.
This could be^W^W is a problem because the CRUX developers are cluttered around the world and travelling expenses are (very) high. They are, however, this time it's most certainly going to be either in Germany, Switzerland, or Italy. Why not Berlin, for example?
On the other hand I (personally) think not all devs are THAT interested in CRUX that they would a) spend the money for fly/hotel/etc and b) apply one week for vacation. Well, I think we leave this up to the individual maintainers. I'd actually like to meet more of our team, however it's definitely optional. Always great fun though!
And, to mention it, I know that I can't speak English good enough to back up my ideas/wishes/proposals with clear, well formed arguments :-) Well, we don't have enough material to call this statistically significant, but so far half of all participant were non-native speakers, and communication really wasn't a problem.
Also, I'd like to propose having weekly or bi-weekly IRC meetings [...] This is a good idea.
Great. I hope you'll join us too, if you have time.
- move the mailing lists -> crux.nu? Yes. Mailman is ready, you can start thinking about the name of the x86_64 list :-).
[..] ideas which pretty much imply a rewrite of large parts of pkgutils
Let's reinvent the wheel again and again. RPM and folks were written for pure evilness .. I'm all for using an existing system if it fits our requirements, however I'm not aware of an exisiting one; RPM certainly doesn't.
Kind regards, Johannes -- Johannes Winkelmann mailto:jw@tks6.net Zurich, Switzerland http://jw.tks6.net
On Friday 10 March 2006 09:35, Johannes Winkelmann wrote:
Also, I'd like to propose having weekly or bi-weekly IRC meetings [...]
Great. I hope you'll join us too, if you have time.
I'll sure do.
Yes. Mailman is ready, you can start thinking about the name of the x86_64 list :-).
crux64?
Let's reinvent the wheel again and again. RPM and folks were written for pure evilness .. [snip]
I'm all for using an existing system if it fits our requirements, however I'm not aware of an exisiting one; RPM certainly doesn't.
You snipped the "important" part. I know your opinion about RPM and I won't vote for RPM as CRUX's new package-management tool. I only wanted to mention that pkgmk & prt-get try to imitate 'apt-get + dpkg/rpm'. I'm using RPM at work - as long as you don't blow RPM's dependencies out of all proportions it's a quite nice system. I see RPM vs. DPGK vs. pkgutils vs [..] as just another religious war without any sense. However RPM doesn't fit in CRUX's primary focus (being simple). bye, danm -- Daniel Mueller Berlin, Germany OpenPGP: 1024D/E4F4383A
Johannes Winkelmann wrote:
Hi there,
[ this is rather long. my apologies ]
With Per's retirement, I think it's important to take the time and discuss a couple of issues to keep CRUX in shape, and morale up :-). This mail contains a non-exclusive list of things I consider important.
I'd like to propose that in the close future (first step), we focus mainly on three things (more on the individual point later in this mail): 1. getting 2.2 out, and having it working well 2. addressing issues we had even with Per on board 3. redistribute Per's work
In a second step, let's have CRUXCon 2006 in autumn with as many CRUX devs as possible, and define a common vision for the future. This gives us half a year time to collect ideas and work on prototypes (i.e. for the 3.0 package management as discussed at the former two CRUXCon's).
Also, I'd like to propose having weekly or bi-weekly IRC meetings on a defined weekday (i.e. wednesday), to allow slightly more focused discussion and allowing those with less interest to constantly idle on IRC to take part in IRC discussions. Simone suggested to list the dates on a wiki pages, which whould also allow to attach notes like agenda or results; However those meetings are supposed to me non-formal, and attendance is purely optional.
----- Notes on the items from the list:
1. Getting 2.2 out
2.2 is getting close, and we should make sure we have opt tested when we release it. I'm not sure how many of us have a 2.2 test install yet, but I plan to write some notes on how to install it in a chroot to make testing as simple as possible for everyone.
We'll also need to update the handbook, and find out where to host the releases (the main file server up to now was fukt, to which no one besides Per has access).
2. Addressing current issues
In no particular order: - Add more content to the wiki (howto's etc); we've been discussing this a couple of times already, there seem to be users interested in helping, we need to define some basic structures though to make it usable. This is not critical in general, but frustrating for those who'd like to contribute
- write a port validator to detect potentially malicious or dangerous commands in Pkgfiles; run on contrib nightly or so; suggest its use on the relevant wiki pages
- move the mailing lists (depends mainly on getting the subscriber lists and archives; I requested those, so as soon as we get them we can do the move). We'll also need list administrators for them
- find a maintainer for prtsync (Jay originally wrote it but lacked time/interest, I added a number of quick fixes to address problems appearing during the test runs); there are a number of annoyances, missing features, and things to clean up; nothing too urgent though
- define contact persons for certain subsystems; examples for this are: server maintenance, subversion, bug tracking, website accounts, prtsync, mailing list admin, release engineering, user account management and access control. A lot of this stuff currently ends up in my (and probably others') private inbox, which is slightly tiresome.
Well, who is in charge of the systems now? I've never even had an account on any of these. I know this is cliche, but maybe there is some kind of web management software that can automate this.
- define a more democratic way do take decisions. Things like the core/opt separation or WiFi kernel module inclusion are typical examples for this, both were basically decided ad hoc on IRC by those online at that point in time.
Those of you that know my rants on IRC surely know my support of democratic processes. However, democracy is not a cure for all ills. I really think with Per not being a benevolent tyrant, we need to select another benevolent tyrant and maybe a group of "elders" to bounce ideas off, but that one or two people having the veto decision. I know it always sucks to have ones ideas rejected, and such, but I think for the good of the project, it's better to have someone in charge, instead of a big voting booth on every issue, where a decision cannot be made until everyone weighs in, and slackers like me take a long time. Just my opinion. I've long wanted to get prt-get as president, so Johannes, to me, is a reasonable candidate. :) I think we should vote in a dictator who can propose policy and decide it, and have a group of people who can debate the alternatives.
3. Redistribute Per's work
This includes - Per's ports - Handbook maintenance - Release engineering - pkgutils and ports(8)
As for pkgutils and ports, there's nothing fundamentally wrong with the two (I know some of the community members tend to have different opinions :-)). However, during CRUXCon 04 and 05, we discussed a lot of ideas which pretty much imply a rewrite of large parts of pkgutils (which was Per's plan initially BTW, however I guess we'll have to take over here). This might be a good moment to collect the quite large number of ideas implemented in the various forks and rewrites, and define a subset of them we want to support in our package management utilities (either directly or by allowing extensions), also considering the various utilities on top of it (pkg-get/pkgsync, prt-utils, prt-get etc.). Obviously, this is a very crucial part of CRUX, and I feel that we should plan that carefully, to get both a powerful and PER/CRUX-like solution.
This is tricky, since this always ends up in "power vs simplicity". I think RPM and DEB systems are so far away from the goals of crux, that they're rendered useless for our purposes. What other solutions are out there? What about the pkg system that NetBSD has created? pkgsrc, I think. Are there systems out there we could adopt that do what we need without having crux maintain them? Also, I think (and this was my vote from the beginning, that Per and some other people did not like, but I'd like to bring up anyway) we need to thin out core. Core is the base of crux, and by having it really really slim, we reduce the amount of work that needs to be done to update version to version, and reduce testing. We can leave the other packages in opt and let those update on an independent timeline. Just and idea. I also wouldn't be opposed into combining some ports into on distro port, like what bsds do, so multiple source packages are install ad one core port. That is, we could combine: binutils, util-linux, etc into one core-bins port. Again, just an idea. Victor The Long Lost one...
participants (6)
-
Daniel Mueller
-
Jay Dolan
-
Johannes Winkelmann
-
Simone Rota
-
Tilman Sauerbeck
-
Victor