(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

Reply via email to