Thursday, May 5, 2011

On community management

There's an article "Community management for coders" at the SD Times that's very relevant to FreeDOS, and free/open source software development in general. It has some great advice for anyone who's interested in working in a F/OSS community.

In the article, James Bottomley, distinguished engineer at Novell and maintainer of the Linux SCSI subsystems, has three pieces of advice for smoothing over the inevitable social friction that can occur within an open-source project:

  • Keep it technical.
  • Don't just say "no"; say "no" with a reason.
  • Organize a face-to-face gathering at least once a year, if possible.

Joe Brockmeier (also from Novell) has an insightful quote about the "coordinator" role: "Community management really isn't about 'running' a community, it's about working with and facilitating a community."

And Greg Kroah-Hartman (Linux driver project) has this advice: "The best thing I've learned over the years is humility. There is always someone out there that is better than you and can point out problems in your code. And that's good, because in the end what matters most is the code getting better, and by virtue of that, Linux getting better."

Monday, May 2, 2011

The Future of FreeDOS

I've been thinking a lot over the last few years about leveraging our niche, and the future of FreeDOS as a modern DOS. Now that I'm back at project coordinator, I'd like to help drive this forward.

I start by thinking back to the early 1990s. Microsoft released MSDOS 5 in 1991, and MSDOS 6 in 1993. But they had clearly set their future direction towards Windows (3.0 in 1990, 3.1 in 1992 - and of course Windows 95 in 1995.)

FreeDOS aimed to create a free, compatible alternative to MSDOS. And I believe we met that goal in version 1.0 several years ago. We've even extended the feature set (read: utilities) from MSDOS 6. But FreeDOS is still - essentially - a clone of the old MSDOS.

But in an alternate reality, what would DOS had looked like if Microsoft hadn't moved to Windows? I think we get to define what that looks like.

And we shouldn't be afraid to change the classic definition of "DOS" to get there. Minimally, applications written for MSDOS 6 should still run under whatever "FreeDOS 2.0" becomes. Aside from that, we are free to make whatever changes to turn FreeDOS into a relevant, modern operating system.

I envision FreeDOS "2.0" as being a more modern version based on FreeDOS 1.0 (or 1.1, if I can convince someone to package up our current software set into a new release.) But FreeDOS "3.0" or some later version should switch to a multi-tasking FreeDOS model, with expanded driver support. Especially network driver support.

I think FreeDOS will remain a single-user command-line environment. I'd like to draw on other modern environments to define that. The GNUish utilities are an obvious area to draw on. I don't believe we need to create a "mini-Linux" environment, but having those GNUish utilities will bring a familiar feel to FreeDOS. By extension, that crossover with Linux may be enough - by itself - to attract new developers.

FreeDOS 1.0 (and the alpha/beta releases) divided our software into package sets, or "disk sets", with BASE being the area that replicated MSDOS functionality. As we transition into a more modern "DOS", I think we'll have to reconsider what's in those categories, including re-defining the population of BASE.