2004-08-07 Scott C. MacCallum wrote: > Q: Where are you from? > > A: I was born in Virginia, but I currently live in Minnesota. I'm an American. :-) > > Q: Where do you currently reside? > > A: I currently live in Minnesota, in St Paul (part of the Twin Cities.) I have three cats (Linus, Murphy, Vita) and married to my high-school sweetheart. We've been dating/married longer than half our lives. > > Q: What kind of educational background do you have? > > A: I have a BS in Physics, from the University of Wisconsin-River Falls. I try to remain involved with the UW-RF Physics program, and I attend the (mostly) annual alumni dinners that they have. > > Q: What do you do for work? > > A: I work at the University of Minnesota, where I'm the Manager of Central Computing Operations' Systems Administration groups, which includes: Solaris, AIX/PIA, Linux/Web, and Windows/Novell. At the University, I founded the Web Development Advanced Labs. We officially retired the Labs in March 2003 when I moved out of Web Development into my current role in Central Computing Operations, but work still goes on for Advanced Labs (but under other names.) Our last completed project may interest you - I created an experiment to run Linux on my desktop, half-time (dual-boot). It was a good experiment - since I was in my WebDev office for half the day and my CCO office for the other half, I would run Windows when in WebDev and Linux when in CCO. After a short while, I stopped booting into Windows altogether, except to do a few things that I can't do in Linux like run Visio and change my Novell password. I'm 99+% Linux at work now. > > Q: When was you first computing experience? > > A: > > Q: What kind of hardware did you first use? > > A: > > Q: What kind of operating system did you first use? > > A: > Wow, that takes me back. My dad recognized very early that computers were going to be very big. He borrowed some kind of desktop computer from his work (this thing was huge!) and my brother and I would take turns reading a programming manual, and practice writing simple programs in BASIC. Really simple stuff here - math games, mostly. Then some games that did primitive text graphics (mazes and such.) My mom worked at Plato, a spin-off from Control Data Corporation. She brought home a Plato terminal for a weekend. That was amazing! The Plato terminal had a touch screen as well as a keyboard, and there were some simple games that used the touch screen and communicated with a mainframe over a modem. I remember that I liked the horse racing game the best. As I recall, you could even play against other people who were also connected to the mainframe. But I suppose the first time I _really_ got into computers was when my dad bought us a Franklin Ace 1000 (http://oldcomputers.net/ace1000.html) - an early clone of the Apple ][e. It had the same hardware and ran the same software as an Apple, but was a bit cheaper. I wrote lots of programs for it in BASIC, including a nuclear war simulator ala the "War Games" movie. At one time, my brother and I tried to write a BBS, but that turned out to be too much for us. Later, my parents bought an IBM PC so they could do some work at home, and I moved onto that. This was a huge leap, and I was thrilled about the features of the IBM DOS. Commands could be connected together using pipes, so now a simple .bat file could become (almost) like a program if you could connect the right stuff together. There was a BASIC interpreter, so I was able to convert most of my Apple BASIC programs to GW-BASIC and run them on the IBM. But I didn't need to convert all of my BASIC programs, since there were all these programs for DOS that I could use, including some text processors and (gasp!) a spreadsheet. > Q: Why did you begin the FreeDOS project? > > A: I was still a student at UW-RF, and I did all my work using DOS. I liked the simplicity that DOS offered. Anything that you want to do on the PC is possible. Nothing is really stopping you, other than hardware limitations. I found that this degree of freedom was nice to have. But that year (1994) there was an announcement from Microsoft that they would stop support for DOS, and a new version of Windows was going to be released that completely removed DOS from the picture. (Of course, this was Windows 95, and it still did have DOS.) Everyone was pretty shocked. We didn't want to be forced to use Windows, which at the time really sucked. In DOS, everything is done on the command line, and a true command line "guru" can do amazing things there. In Windows, you are stuck with the mouse, and if the menus don't let you do something, it pretty much can't be done. So things were looking pretty bleak. We were all very upset about Microsoft's decision to ditch the DOS platform for this sucky version of Windows. Then, I saw a discussion thread on the DOS newsgroups asking "hey, why doesn't someone write their own free version of DOS?" Remember, this was about three years after Linus Torvalds announced his work on the Linux kernel, and by 1993 Linux had shown that free software can achieve incredible results. So in 1994, the suggestion that we could write our own free version of DOS, and give it away with the source code so others could work with it and improve it, really didn't sound all that far-fetched. Unfortunately, no one did anything about it. The idea sort of sat there, waiting. I didn't have tons of experience in writing C or Assembly programs (most of my analytical work in physics was limited to FORTRAN) but I had written some C programs. So I sat down one weekend and hacked out code for a bunch of DOS file utilities. I posted what I had done to the DOS newsgroups, and announced that I intended to form a group on the Internet to write our own free version of DOS. That's what became the FreeDOS Project. > > Q: How do you envision FreeDOS being used by others? > > A: I don't really have a vision for how people should use FreeDOS. I'm just thrilled that people still find it useful to them, and they are able to do so many things with it. Besides the obvious use of running old DOS programs on your computer, FreeDOS is used in DOS emulators, and in embedded systems. FreeDOS is also an invaluable resource for people who would like to develop their own operating system. I still get email from students who are working on an operating systems project, and they have found FreeDOS to be very helpful in understanding the basics. DOS is not a complicated operating system, and is fairly easy to figure out. > > Q: Why did you choose to go with a Borland C compiler for C FreeDOS > development? > > A: > > Q: Why did you choose to go with MASM as the assembler for assembly > FreeDOS development? > > A: > These are decisions that were made fairly early in the project, and by now the standards have changed - but I haven't updated all the docs yet to reflect that. When we began, there wasn't a free C compiler available for people to use. Sure, there was djgpp (the GNU C Compiler, ported by DOS by DJ Delorie) but that required at least an 80386 to run. We wanted to make FreeDOS available on low-end hardware including the 8088, so we needed to choose a different compiler. Looking around at the contributors to FreeDOS at the time, most people had a copy of Borland C (or a variant, such as Borland Turbo C) and Microsoft's MASM. So, to make code-sharing easier, it was a fairly easy decision to settle on Borland C as the default C compiler, and MASM as the default assembler. Arrow ASM provided a superset of MASM instructions, and was freely available, so that was an option for people who didn't have Microsoft MASM. And Borland provides free copies of their Turbo C compiler. Of course, this didn't mean that you had to have either tool to contribute to FreeDOS. Rather, this means that any C code must be compilable on Borland C 3.1, and all Assembly must be assemble-able on Microsoft MASM. Today, the standard C compiler is OpenWatcom, and the standard assembler is NASM. Both are free software. > Q: Have you ever met any of the core development team in-person? > > A: I've only met two FreeDOS contributors in person: (1) Joe Cosentino wrote several of the base utilities that are distributed with FreeDOS, including the current FreeDOS EDIT. Joe's work brought him to the Twin Cities, and he emailed me one day to say he'd be in town and did I want to meet. I thought this was great, so I took him out to dinner, and we've been good friends ever since. He's one of the few people in the FreeDOS Project that I consider a close friend. (2) Russ Nelson wrote Freemacs, a clone of GNU emacs for DOS. When we started the FreeDOS Project, Freemacs was our replacement for MS-DOS EDIT, although later Joe wrote a FreeDOS EDIT that could be used by non-programmers. Russ also wrote the packet drivers that are used with FreeDOS. Russ stopped by my session at the O'Reilly Open Source Convention in 2001, and it was nice to chat with him for a while before he had to run off to a meeting. That said, there are lots of others in the FreeDOS Project that I'd like to meet in person. Maybe one day I'll get to meet some of them. > > Q: What are some of the biggest challenges you have faced in the > development of FreeDOS? > > A: > Overall, I think the biggest challenge was being taken seriously as a free software project. When you first start a project like FreeDOS, the only people who take an interest in you are other DOS users. It's hard to get others who might not consider themselves DOS users to find your project interesting. > Q: Where do you stand on intellectual property i.e. do you favor more > of a individual whatever license works for a given piece of software, > or a freesoftware all position). > > A: No, I don't believe that one license fits all software. You have to evaluate needs and demands when you choose a software license. I'd prefer that all software remain free and open, but in the end I do recognize that sometimes that's not possible. In my personal life, I tend to use free and open software instead of proprietary "closed source" software. > > Q: What games would you love to see work in FreeDOS? > > A: A lot of DOS games already work on FreeDOS. The ones that I have always enjoyed are 'Epic Pinball' (works great in DOSEmu), 'DOOM' (works great!), 'Wolfenstein 3D' (works fine), 'Dark Forces' (movies played very slow, last time I tried it), and the 'Commander Keen' series (works great!) If I had an old-style joystick port on my IBM Thinkpad, I'd love to try 'TIE Fighter' again, but alas I think that's a pipe dream! > > Q: What is your position on abandonware, do you see such softwares > source code particularly useful to the FreeDOS project? > > A: Depends on what you mean by "abandonware", I suppose. There are two different meanings to that term: either as "obsolete" software that is now distributed freely (although illegally), or as old software that the copyright owner has decided to distribute for free (but without support.) 'Lotus 1-2-3' would be an example of the first type, and 'Turbo C' would be an example of the second type. I prefer that any software that is distributed be done so with the copyright owner's permission. That is, I would like to see more of the second type of abandonware. Even better would be if the copyright owner decided to open up the source code to their software, so that others could improve it. > > Q: What do tell people when they question the legitimacy of working on > a DOS operating system project since the most well known DOS MS-DOS > has now been abandon by Microsoft. > > A: In the first few years of the FreeDOS Project, I got a lot of emails asking me "why are you doing this?" or "why DOS?" The answer is "because I find it interesting" and "because I like DOS", but those kinds of answers don't move non-DOS users to support you. But it's an honest answer, and there wasn't much I could do to sway opinion. Today, things are much different. Do a search on "FreeDOS" and you'll find thousands of hits. FreeDOS gets mentioned in documentation and on various web sites ala "you'll need a copy of FreeDOS to run that." So we're a very common thing now, which is quite a step up from the days when no one really took us seriously. > > Q: Do you think now that MS-DOS has been abandon by Microsoft that its > source code should be released, and if so do think that source code > would be of any significant use to the FreeDOS project? > > A: > Yes, I think it would be great if Microsoft released the source code for MS-DOS. However, I don't know that the source code would be of too much value to the FreeDOS Project, since we've somewhat diverged from the designs of MS-DOS, and our source trees will look completely different making merging impossible. But the MS-DOS source code could be useful to add better compatibility to FreeDOS. > Q: What do you think of the NASM project and do you feel there is a > need for a standard way to write assembly code? > > A: I love the NASM project, and as I mentioned above we are using it now in the FreeDOS Project as our standard assembler. > > Q: Where does the FreeDOS project currently need the most help? > > A: We have needs in a few specific areas: - We're making the big push towards the "1.0" release, finally. Aitor has created a list of things that need to be finished before we can consider ourselves at the "1.0" release point. So we need some help from developers in finishing up the few things that should be done. - FreeDOS really needs a rock-solid GUI. There are several GUIs available, including Desktop2, SEAL, and Octane. Unfortunately, much effort seems to go into writing a "new" GUI for FreeDOS, and not as much into improving an existing GUI and adding new features. - Also, our documentation effort needs an overhaul. I tried to take this mini-project forward, but I wasn't able to balance FD-DOC, the FreeDOS.org site, and all the little things that go with the role of "coordinator". I'd like to see someone (preferably someone who does professional technical writing) come to the aid of FD-DOC and help make some major updates to our documentation. > > Q: Is there anything that you would like to clarify that you think > others have gotten wrong about the FreeDOS project? > > A: I guess I'd like to re-iterate the point that DOS is not dead. I get that comment a lot from people. With Linux and Windows being the popular operating systems these days, it's hard for people to recognize the value in a text-based, single-tasking operating system like FreeDOS. DOS will be around for quite some time yet. DOS remains a great environment to work in if you are building an embedded system, for example. The operating system is light, so it will run well in a device that doesn't have a lot of memory. You can burn it into ROM, boot from a floppy, or a small micro-drive. There aren't many operating systems that you can find these days that will boot from a floppy, yet still leave you enough room on the disk for your embedded program and maybe some room for data files. The embedded systems market is one of the markets that will keep DOS alive, at least for several years to come. Look at some of the alternatives that you have today if you want to build a small embedded device, and you'll see that as footprint becomes an issue for you, DOS is really the only way to go. Linux and Windows both require too much overhead to build an efficient embedded system. Another thing that will keep DOS around, even behind the scenes, is the PC market. A lot of companies that make computer hardware (disk arrays, video cards, controller cards, etc.) use some kind of basic BIOS. At some point, you'll need to provide a patch, and the user will need to flash the BIOS on their device. The hardware manufacturer may not know or care exactly what operating system you use. If you are the hardware manufacturer, how do you distribute a flash update to all your users? Will you provide a different update program for every operating system platform that might be using your hardware? For a lot of companies, the answer is no. It's a lot simpler if they can give their users a bootable DOS floppy disk that they put into their computer, and the boot floppy automatically flashes the BIOS. You see that in several places today, although you may not realize that you are booting FreeDOS. > > Thank you for you time! I will be in contact when the next issue of > PHRAINE is released. > > -Scott > Thanks! -jh