Sunday, February 28, 2010

Exporting an LSM

I recently posted about the new software list, how it uses a database back-end to store the data. An important thing to remember is that maintainers will still use LSM files to provide information (author, maintainer, URL, etc) about your program. The new software list just makes it easier for us to keep the information organized.

But you may ask, "if the database is tracking all the information, how do I edit an LSM file?" Maintainers have two options: You can still edit the LSM file that you already have. Or, you can export your program's information from the database as an LSM file, and work from that. Let me walk you through the process.

To export an LSM file from the database, use this CGI:

Without any parameters, this CGI will simply list all the program "categories" that are available. Categories are what later become "disk sets" in the full distribution. To see the programs listed for a particular category, use the "cat=" parameter. For example, for the "Base" disk set:

This lists all the programs that are part of that category. To view the LSM file for a specific program, give the "prog=" parameter. For example, for the FreeDOS Kernel:

And that's it. Easy!

Note that when you have a new LSM file (for example, when you make a new release of your program, or if you need to update the URL, etc) you still need to email that file to one of the FreeDOS admins. There's an LSM "import" process that the admins can use to put your LSM file into the database.

Saturday, February 27, 2010

I know about the broken forum link

In case you are wondering: yes, I know that the link to the forums (from the news items) is broken. That seems to be something that SourceForge did. I can't fix it for them, but I can at least modify the links to point to the news archive at SF. I'll fix this soon.

Update: It's fixed. Thanks.

New FreeDOS Software List

For years, we have used "LSM" (or, Linux Software Map) data files to describe the packages contained in FreeDOS. We still do, and we will continue to use them.

To make it easy for people to see what packages we included in FreeDOS, I wrote (long ago) a simple perl CGI that parsed the LSM files and displayed them as part of a web page. That worked well, for what it did. But it wasn't very flexible. Also, there was no way to ensure that the LSM files were filled in correctly. This only made things worse for the CGI.

For a while now, I've wanted to re-write the software list to use a database back-end. I have finally done this, and the new list is now available at:

Having the program information contained in a database allows us to do several things. We can still display the software list as a set of web pages. But we can now export that data as (correctly formatted) LSM files. Or as an XML file that the FDUPDATE program can use. I'll post something in a few days about how to get data out of the system.

A database also makes it easier for us to keep the software list up to date. In the old method, a webmaster had to upload an updated LSM file to a specific directory, using a particular name. With a database back-end, we can assign a few people to be "software list administrators" (for lack of a better term) that can import LSM files into the database, or edit fields directly.

I hope the new software list makes it easier for the FreeDOS Project to keep our program information updated. That will, in turn, make it easier for users to find our stuff.


I forgot to mention that yes, I will update the old software list (lsm.cgi) to redirect users to the new software list. My intention was to leave the old pages as-is for about a week, so program maintainers could validate the data in the new list against the old list.

This weekend (3/6?) I'll edit the old lsm.cgi to redirect users to the corresponding page in the new software list. It probably will not be a "silent" redirection - I'll print a message so that users know to update their bookmarks, etc.

However, I'll leave the old LSM files in place (in /freedos/software) for a while, so maintainers can still compare against the old data if they like.

Thursday, February 25, 2010

What motivates F/OSS?

The Harvard Business Review's IdeaCast recently interviewed Dan Pink about his book, Drive, The Surprising Truth About What Motivates Us. (Amazon)

In the interview, Dan gave Free/Open Source Software as an example of motivation. What motivates F/OSS developers? Largely, it isn't about the money. According to Dan, we're driven primarily by the creative need, the urge to create something that's immediately useful.

I think Dan hit the nail on the head, there. I've worked with a lot of F/OSS developers, spoken about F/OSS at a lot of conferences, and what we all seem to share is a drive to create new things. At first, Free / Open Source Software tends to "scratch our own itch" by solving a problem for ourselves, but often this grows to support others. When I wrote the first FreeDOS utilities in 1993, it was to create DOS tools that functioned better than MS-DOS. It wasn't until 1994 that I made these tools available to a wider audience in the form of FreeDOS.

Dan also commented that, contrary to conventional wisdom in business, paying a F/OSS developer doesn't actually provide additional motivation. Sure, we appreciate that we're being paid to write Free . Open Source software, but in the end that doesn't motivate us to create more software, or bigger software, or software in support of a particular thing. F/OSS developers work on things that are interesting to them, not to a corporate entity.

Paying a F/OSS developer to work on a project may actually de-motivate the developer, rather than actually motivate them. Instead, if a corporation wants to fund F/OSS development for something, you have to find other ways to motivate your developers. Dan talked about building community. And I've often discussed that building a healthy community is key for any F/OSS project. I thought this was very insightful.

Monday, February 15, 2010

New software list coming soon

Just a quick note that I've finished coding the new software list. All that's left now is importing the current LSMs into the database, and that's going to be a very manual process. I've imported all of the "Base" programs into the new software list. That means I'm about 40% complete (62 in base, 143 remaining.) I expect to finish them this week, so look for an announcement on the main page soon!