This article, “Rethinking the interface to CPAN“, over at Perl Buzz, describes something there needs to be more of in the open source community. CPAN, for those who don’t know, is a way to automatically add various libraries to a Perl installation, similar to BSD ports/pkgsrc or Ruby’s gems.
This is the message from the article: provide a solution to a real problem. I bring this up because a reoccurring frustration people have with pkgsrc is how to upgrade packages. Now, there’s no lack of ways to upgrade, but none of these solutions are a match for what people want: an upgrade method that works without frequent side effects or extra work. This is why portupgrade is very popular for FreeBSD, or apt-get for Debian; it generally works as expected. We need more of the thought process that leads to those solutions, in open source.
I’m not bring this up just to pick on pkgsrc; we need this sort of thinking for the DragonFly BSD website, too. It (and the other BSD websites) take the role of a library shelf, with information only available by sifting through it until you find what you want.
Compare that to the Firefox website: most people are going to visit there to download Firefox. A smaller contingent will already have it and want to upgrade it. There’s a very clear visual path for 90% of the visitors to the site. Now, go to any of the BSD operating system sites, and say “How do I install a working desktop system, with X and a window manager and so on?” It’s going to take some digging.
I’m not sure I’d compare apt-get with portupgrade. In my experiences, portupgrade works good for small things that aren’t important — because if it tanks it leaves you with something you have to clean up yourself… maybe that’s changed, to be honest I haven’t used it in two years, and stopped using it after it left me with a crippled system for the third time.
Apt-get isn’t perfect, but it’s done numerous complete system updates for me, including all the complicated gnome stuff, and it’s never left me stranded. However, that being said I really think the BSD community can do a lot better.
As for the DragonflyBSD website — I think it could use some major simplification and some organization. There seem to be a lot of individual sections that could be compressed into one section. Also the whole dragonfly them has maybe been taken a step to far — the site feels like a nature conservation website. This is of course just my own subjective opinion, and isn’t worth much until I create something better myself.
One of the things I liked about NeXTStep was that you could have multiple versions of a framework ( read library ) installed and used concurrently, which was really nice when different apps depended on different versions of the same framework.
James – I completely agree with you, especially about the website.
I have a few days before I have to start permanent work again… if I get some time I’ll see if I can come up with some sanity for the website. Maybe some kind of simple reorganizational mockup. I’m stressing simple, effective, and evolutionary, otherwise I don’t think it will get done.