Reply 20 of 24, by doshea
- Rank
- Member
Exploit wrote on 2023-11-13, 08:51:If you want make your application open source or free software someday it's better to rely on tools that others can use too to c […]
If you want make your application open source or free software someday it's better to rely on tools that others can use too to compile your code.
The same applies to support libraries. Otherwise your code might have a vendor lock-in. You might put your code under a free license, but you can't do the same with the proprietary 3rd party libraries your using.
There have been many programs where the author was annoyed afterwards that he didn't use a freer version to develop them from the start.That's why it is better to use free software and open source libraries for projects like this.
FreeDOS 1.3 ships with a version of DJ GCC version 4.7.1 (form 2012) and the WatcomC compiler 1.9 from 2002.
Sometimes those newer compilers have bugs with targeting older CPUs like 8086 because that support is tested by very few of the users, whereas older compilers that were mostly used on older CPUs are more likely to work, so newer isn't necessarily always 100% better.
You can certainly get locked into proprietary extensions from a particular vendor's compiler or libraries, but you can also check documentation to figure out whether things are portable and deal with that in various ways - abstraction layers/wrappers, macros, etc. Even for people who haven't done any coding themselves, if they've ever built open-source software, they'll probably have noticed that often projects can be built using a range of compilers. Of course it requires some work to make code portable between compilers, but maybe some people will find that a tradeoff worth making.
If you write something using a closed-source compiler, you can still release your code as open source, and maybe someone else will port it to an open source compiler if they feel strongly about it. In fact people who feel strongly about only using open source compilers are probably good at that kind of thing. There are also people who don't really care about whether the compiler is free or not because they see things that old as "abandonware", and I've even seen some repositories on GitHub that for example include the required Borland development tools, although "abandonware" isn't allowed on forums like this, so it does make it more difficult - if someone doesn't already have the tools you can't provide a link for them, they just have to figure it out themselves
I suspect that if one wanted to write something for inclusion in FreeDOS for example they might have to make it buildable using an open source compiler for it to be accepted, but I seem to recall that back when I worked on FreeDOS a little almost 20 years ago, some official tools could be built either with Turbo C (closed source, although some versions are free as in beer) or with some open source compiler.
There are lots of people out there who enjoy the experience of using older tools for various reasons, much like they enjoy playing with older hardware, games, etc. - it's kind of what this forum is all about - so I'd say that if you want that experience, you're not making a terrible mistake to do that. If getting to use some old tools is what motivates you to make something cool that you can share with others, then at least you've made something, and it can always be "fixed" later.