12:11 AM - The revolution has begin
Ok, just kidding. Pirates of Silicon Valley joke. :)
Midnight BSD is my new "project". Its the largest project I've tried to date. The website is up, but not quite complete. http://www.midnightbsd.org/
I need help on this project. (duh)
Here's a small list of goals:
1. Replace init, etc with a apple style process for cron, etc.
2. Clean up userland code. Check for buffer overflow, argument validation, style improvements and comment it!
3. Create a graphical enviroment. Use x11, but also improve the system console code to "assume" color consoles with a nice gentoo/redhat style bootup process. Later work on gui startup like OSX. Splash screen with updates on services starting is a plus.
4. Initially I'll probably use KDE like the other desktops. I thought about using gnome to be different but its a bitch to get to work. I think KDE has more built in functionality and the code is faster. Also, I can addopt DesktopBSD and that other new BSD's ports apps and things if i want. It standardizes development for now. I'd like to write a new "shell" aka window manager for it though thats unique.
5. Fix ports. I love freebsd ports, but they need to be maintained by c apps in the CLI and gui apps. Update and patch notifications for the OS and ports would be nice. Binary updates!!!!! A cross between apple software update and redhat's management software.
6. Better support for video, audio and other devices. Driver support needs to improve for the desktop and hopefully be bsd licensed.
7. BSD licensed replacements from the openbsd project for userland apps. I want this to be a BSD licensed project unlike DesktopBSD and friends. Improve those programs to support GNU extensions. This will allow more ports to build without gnu garbage on the machine.
8. Track xorg updates more frequently. GUI stuff will be part of the base system.
9. I'm going to focus on desktop improvements, although i still love CLI/server stuff. BSD is weak in graphical enviroments. OSX is all we have.
10. Although I don't like GNU licensed stuff, there is some that is essential on a desktop in my opinion. Most notably, gcc, automake/autoconf, vim, bash, and GNUstep will be included. I will of course include real software as well (nvi, ash (freebsd sh), etc)
11. Upgrade the code to compile against GCC 4 if possible.
12. Focus on optimizing ia32 and ia64 architectures. I don't care about PPC or sparc as they are not growing. Ports to embedded devices might be an option though. I don't want to discorage ports to other platforms, just go back to the 386bsd/freebsd roots of i386 support.
13. Replace some of the fine grain locking code to message based code in some parts of the kernel. I believe that Matt Dillon's ideas for DF make sense in some areas. I think a mix of the two approaches might seperate some of the complexity the pure freebsd approach has caused. I don't plan on doing anything with the kernel design aside from work on a few drivers and linux emulation for the 1.0 release.
14. Innovate. BSD is mature and stable. I want to bring in the development energy that has made linux so popular and what made BSD in the 80s.