(My use of "you" and "your" are not directed at anyone in particular. It's just a way of speaking.)
On Tue, Jan 27, 2015 at 9:09 PM, Michael Brutman <mbbrut...@brutman.com> wrote: > I almost feel like I should apologize for opening the can of worms. Some > thoughts: > > - Software contributed to FreeDOS needs to be free. (We already require > this. No problem ...) > > - Contributed code should be free from contamination from non-free code. > Looking at leaked MS-DOS source code is enough to disqualify you from > contributing. We can't police this so it is important that people be > mindful and honest. (Reverse engineering executables is perfectly allowable > though.) Yes, and we also encourage developers to use the RBIL to match behavior with MS-DOS. This is an acceptable form of reverse engineering, where someone documented the behaviors of a particular program (or kernel) and someone else implements it. Another form of this is to build a matching program according to the original program's published documentation (such as a user manual). I generally recommend to be careful in doing binary inspection of programs, such as disassembly. At least in the US, this is a tricky area. > > - Toolchains used to build software contributed to FreeDOS should not need > to be free. All that should be required is that any run-time libraries > should be able to be distributed freely. The software needs to be > unencumbered by royalties or any restrictions. > I agree, but I should clarify my view here. As long as there is a free / open source toolchain alternative to proprietary tools, that's fine. C compilers are a great example. Some developers may prefer Borland C/C++ (I used to use BC31, long ago). Others might like Borland's Turbo C/C++, or Microsoft's QuickC. These are all proprietary compilers. But C is a standard, and there are many different compilers that will compile the same source code. OpenWatcom and djgpp are two free / open source compilers, for example. Since FreeDOS is free software, we provide open source tools with the FreeDOS distribution, such as OpenWatcom. And as an open source compiler that generates 16-bit DOS programs, we recommend OpenWatcom in the FreeDOS Spec. (Programs compiled with djgpp require a DPMI host and run only on 32-bit systems, so users with an XT or '286 computer cannot run them - which is why djgpp is not listed in the Spec.) From the Spec: "This does not mean that everyone must use these tools to contribute to FreeDOS. That would be counterproductive, as many users may prefer other programs. Rather, this means that any C code must be compilable on OpenWatcom C ... Good programming habits such as wise use of #ifdef statements will allow you to do this." <http://www.freedos.org/wiki/index.php/FreeDOS_Spec> To go back to my original example on QBASIC, I recall every BASIC tends to be different from other BASIC environment. Unlike C, you cannot simply use a different BASIC system to run or compile your BASIC code. So for example, if you wrote your program for QBASIC, you could only run it in QBASIC or compile it in QuickBASIC - but not a free BASIC such as bwBASIC. This puts a dependency on a proprietary tool, effectively tying that program to require a proprietary tool. Since we cannot distribute proprietary programs with FreeDOS (often the license prohibits this, for example) users would be unable to use that BASIC program as part of FreeDOS. Although the FreeBASIC website says "FreeBASIC provides a high level of support for programs written for QuickBASIC" so maybe my QBASIC/QuickBASIC example isn't an issue anymore. I'll modify my view to say this: If your BASIC program compiles under FreeBASIC, then I won't object because it removes a dependency on a proprietary tool. > - While commercial toolchains might involve some cost, usually the cost is > modest - check eBay, Amazon and used software sites. If you work on a > project and you expect to get help it would be in your interest to use > something that is readily available and free, but ultimately that decision > belongs to the authors of the software. > I leave this decision up to each developer. > - Plus 1 (+1) to not requiring open source tool chains. I'd hate to see gcc > shoved down anybody's throats. People contribute code because it is fun; it > is their pet project. Encouraging open source tool chains is fine; just > don't require them. I'm afraid that reliance on djgpp will strand 16 bit > machines without a really good reason. Lots of things that are compiled 32 > bit today can probably run on a 16 bit XT with 512K RAM. > +1 I don't mandate that "you must only use open source tools to work on FreeDOS." But I do ask that developers can use open source tools to develop FreeDOS. I think the distinction there is "must" vs "can." I'll point back to the C example, above. > - Software should be included in FreeDOS because it has an expected benefit > to FreeDOS users. While anything might be useful to somebody, FreeDOS > should not devolve into a shareware repository. Remember, just because > somebody doesn't ship with FreeDOS does not mean that it is not useful. > (That applies to both free software and commercial or less free software.) > +1 Programs included in FreeDOS should be generally useful. I don't expect EVERY program to be useful to EVERY user, but MOST programs should benefit MOST users. To cite one example, SPOOL was a really useful program when we added it to FreeDOS, long ago. It runs in the background and spools print jobs to the printer, sort of like Unix 'lpd'. On a dot matrix printer, this is great. But with a laser printer or even an inkjet printer, I'm not sure this is all that useful. And in 2015, I'm not sure how many people connect dot matrix printers anymore. So maybe that's an example where we might remove SPOOL for FreeDOS "2.0". It would still be available from our ibiblio archive, but it wouldn't be part of the "FreeDOS 2.0" distribution. <http://www.freedos.org/software/?prog=spool> jh ------------------------------------------------------------------------------ Dive into the World of Parallel Programming. The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel