Projects!

Oct 19, 2005 01:47

I'm currently working on two moderate to large projects in my abundant free time. One is the groupware project, and the other is Crank. You may not care about either, but if you do, I could use some input.

First off the
I hate Exchange with a passon, and The Magic 8 Ball sums up it's client very well: "Outlook is not good". Groupwise was on my undecided list untill we looked into buying it for work, and basically you need to buy every piece of software Novell makes to make it go. Now it's on the dislike list. I'm still undecided on Notes, but the lack of a Linux client doesn't help. All the open source groupware projects are "platform independent" in the sense that they all REQUIRE a web browser to access it. So, I said to myself that the world needs a groupware system that doesn't suck.

Said groupware system would have the ability to easily scale across many servers (but not require it), have it's own client that was cross platform, have a plugin system for dealing with SPAM, Virus mails, and other evilness, and generally make life better for it's users.

The problem is I have a rather narrow viewpoint on groupware systems and how they suck/make life better for their users. What I need is a group of people where I can ask "What do you love about your groupware system? What do you hate about it?" without getting a deer in the headlights look followed by "Outlook is all the Groupware you need. Your request does not compute. You will be assimilated. Resistance is futile." spoken as one unified voice, and then being followed by a talking paperclip everwhere I go.

My usual outlets of User Group meetings yeild little results, as most people don't care. This is mainly due to the fact that few people in said meetings are employed by medium to large companies anymore and have no need for groupware.

So, that said - any ideas?

The second project: Crank
In 1995 there was Linux, and Linux was good - but a pain in the ass to install. Then along came Yggdrassil (sp?) and Slackware, and the installation was better - but only if you knew how to install Unix already. Then came Debian, which was better - but only by a little. Then came RedHat 3.0.3 and life was grand. Graphical installers, auto detected hardware support, disk slicing expressed in megabytes instead of CHS, easy, simple, clean. Then a terrible thing happened: all development on distribution models stopped and everyone followed the lead of RedHat, Debian, or (to a lesser extent) Slack. That is, until Gentoo arrived. Gentoo was a breath of fresh air, but it took three days to install and heaven forbid you don't "emerge world" nightly or have a cablemodem to suck down the updates and source code to compile. So now we have Four: Red Hat, Debian, Slack, and Gentoo. There needs to be something new: it's called

The thing I hate about distributions are that they grow until every concevable option is included and then it becomes unmangeable. They all assume you have Internet Access all the time, they all assume they won't ever break down, and they all suck when it comes to security. Basically, they are all Windows: Linux Edition.

There is also the problem of Updates. OSS moves fast, faster than most distributions can keep up with. This is a fact of life. Gentoo does the best job of staying on top of it - but even they fall down (try emerging geda or pcb sometime). Debian is the worst, with YEARS between release cycles. Red Hat based products (including RHEL and Fedora) are a mixed bag - some parts are excellent. Some parts are so bleeding edge that the compilers are pre-release and the partitioner has the aggressive tendancies of SkyNet or HAL9000. Slack, well, is Slack. Now I know what you are going to say: What about SuSE, Mandriva, Ubuntu, Knoppix, CentOS, or (fill in the blank)? And my answer would be (in order) Slackware, Red Hat, Debian, Debian, RedHat, and RTFM - it's based on one of the fab four.

My other gripes: Why is Fedora *CORE* Over 2000 packages? I hate KDE, why do I need to install it? Why must everyone think they can do a better job than the kernel developers in making a kernel? Why don't the ATI/nVidia drivers ship out of the box? Did anyone look to see if the utilities work with the recommended kernel? Why must I assume I have an Internet connection? What does it mean than something is not "free enough" for inclusion? Why do I have to live a year in the past or on the bleeding edge?

So, I am hereby announcing Crank. Crank was an idea that my friend Geoffrey and I came up with a few years ago but never did anything with. He's moved on to other things, but kindly let me keep using the name. The details have changed, but the basic premis of "A Distribution That Doesn't Suck" still stands.

Crank is a unique hybrid of ideas, and doesn't mind throwing out some stupid ideas of what some company feels a distribution should be. Crank will be a hybrid source/binary distribution. The source based side will be managed by portage, and that will be responsible for building the binary side. The binary side will be a collection of APT aware RPM repositories. I would have used APT aware DEB repositories, but DEB lacks the support for package signing and trust that I require. Crank will not be RedHat compatible, and Crank will not comply with large portions of the LSB. Crank will bring back some old ideas (like a statically compiled startup/configuration tools, and /bin/sh pointing to a statically compiled version of ash) as well as some new ideas (launchd instead of init, and SElinux support from the ground up). But most important: Crank cares more about it's usability than it's political stance, meaning Crank's definition of free is much broader than others.

All things Crank will be based upon the Crank Core repository. Crank Core is the bare minimum essentials to get your system on-line. It will provide the bare-minimum file utilities, bare-minimum network utilities, reasonable infastructure for security, login, ssh, and that's about it. Basically, it's enough to login and that's it. Think Debian Woody net-install with no aditional packages selected. I expect Crank Core to be under 50 packages, and easily under 300MiB.

There will be an all-modular kernel (or series of kernels) available for install, based on your target system use (desktop, notebook, server, etc). However, you are welcome (and encouraged) to build your own.

All other repositories will be architected to "reduce dependencies wherever possible". I understand that some things may be easier in Python than ash - but if it can be done in ash then why bring in the entire Python repository for one script.

Crank Core will be the first hurdle to overcome. There needs to be some work put into portage so that generated RPMs have RDEPEND information in them. Once Crank Core is complete, my next goal is Crank Notebook Support. This will include frequency scaling, backlight brightness, PCMCIA, and a few other things. From there, I'm hoping to work on a few things simultaneously:

Crank X11 - X.org's X11 server, ATI and nVidia binary drivers
Crank Gnome - latest stable Gnome release
Crank XFCE - XFCE4 desktop
Crank Server - Apache, LDAP, vsftpd

And then follow along with (I hope) community interaction. There are some rules already too:

Security first, not last.
Adding a package for the sake of it being there is stupid and will not be allowed.
Your desktop environment will respect and properly integrate common menus.
Just because there are n options out there, doesn't mean Crank needs more than three.
I would rather have 1 stable, simple server option rather than 2 that need handholding.
While you may not be on the Internet, assume you are part of a hostle network.
Embrace the network when possible, don't be an island.
Reduce or eliminate dependencies wherever possible.
Think with your brain, not your heart.
We're trying to take over the world, but that doesn't mean we can ignore everyone else.

More details are coming, as soon as I start typing them up on some sort of managable web interface (I'm thinking Trac). In the mean time, if you have ideas or gripes - please let me know. I hate being an island in a sea of knowledge.
Previous post Next post
Up