Hi,

Recently I started to maintain several opensource projects. And this
subject touches FreeDOS as well, so I'm asking what would be your
argumentation for that.

I remember opensource 20 years ago, it was great and as a student I had
time to support or even develop my own projects. Companies did not release
opensource yet.

Today companies = business only = profit. They learn to use
opensource because it is cheaper for them. Otherwise they would not use it.
I think their main reason is give a little bit of code, so someone can test
it and fix it for them, for free. That's it.

Today's opensource developers, for example on Github, do it in their free
time and they need also paid job. Their paid job is in a company, like
something above, so they are heavily influenced by bad habits.

This recently came to my attention when browsing several Github projects
and their history. So lets say you have opensource project for 10-15 years
and it provides some value, it provides a very broad operating systems
support!

Now the repository gets forked, because original mantainer does not have
time, or in some cases, it is even original mantainer, who breaks it.

What is happening right now: They delete files, they delete project
configuration, they rewrite files.

What they think they do: They think they are the best and they upgrade
their project for latest OS (Windows 10, soon 11 or 12 as well as Linux)

What they really do: Lack knowledge of design patterns, lack knowledge of
using even development and git tools properly, lack understanding that 10
years old project provides bigger value than their latest Win10 only
breaking change.

How would you argue with person like that? How would you try to explain to
them that there is a better way?

You see it everyday from Microsoft. They remove downloads (Windows 8.1 WDK
/ SDK is temporarily offline). Everytime you even ask a simple thing about
Windows XP on DOS on ANY gaming forum, the first dumb user automatically
replies: "It is not supported. Get away." - without even thinking as a
human, without even thinking anything - it is automatic response
pre-programmed by corporation marketing - they get it somewhere else, not
from their head.

Then, I look at the project, look at the code. And often it is very simple
to keep old OS support. You just change a few parameters or recompile some
library (as it was for the last 10 years anyway).

Do you, as a FreeDOS have some opensource developer best practice
guidelines? How do you look at this issue?

There will be always corporation pressure to upgrade to the latest, support
consumerism and increase ROI for stakeholders.

But for opensource, developer needs to have a better mindset. Especially
they start maintain 10-15 years old projects - they have bigger
responsibility than just cut x86 architecture.

I'm not saying they need to support and test old OS actively. But they
should not rewrite project source history like spaghetti. The least they
could do is:
1) create new project file (prj) for new OS (my_project_w10.prj) and
keeping the original my_project.prj intact
2) create SDL1 branch and archive it (which can be used in FreeDOS), so
community can sometime backport some changes there. Instead they rewrite
the files, delete the files and you get mess
3) use more clever architecture or design pattern, like Adapter, to provide
a specific implementation for specific OS. Lets say they have OS X now and
they migrate to OS Y. Instead of rewriting half of git project, they would
encapsulate OS Y specific calls in a separate file and this file will be
used instead of original file for OS X based on project compilation
settings or based on runtime configuration

What I currently fight with:
1) intolerant aggressive people, who should be smart (as a developers
mostly are)
2) automatic response: this is unsupported, this is deprecated => this is
like parrot, they have pre-programmed automatic response from aggressive
corporation marketing strategies
3) lack of understanding that 10-15 years old project is not only about his
personal needs, but it is about community of people, who use it for 10-15
years
4) lack of knowledge, no will or time to gain new knowledge => this results
in 1)
5) lack of education what is opensource, what is preserving history for
long time span projects and what is commercial oriented development

So I forked several projects like that. Will fix them and record some
Youtube video. I think I will also record some Youtube video about the
content of this e-mail and provide some real life examples what was wrong
on some project and how easy is it to fix it. For now, 90% of cases was
only project configuration. Currently I am compiling some kernel driver and
the only issue is project metadata were rewritten, so you cannot open and
compile it on older OS.

I post it here, because sometimes my argument is also: Hey, but because you
think nobody is using it ,that is not true. Someone talk about it last
month on FreeDOS. Some people are using it. Join FreeDOS mailing list. This
was for example some SDL1 related project that could run on FreeDOS, but
they were not aware of it. Currently I maintain 5 projects like that.

Lukas
Czechia
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to