On Sat, 1 Dec 2018, Richard Stallman wrote:
> > You need to know some C to contribute to a package written in C. > > Similarly, I think it's reasonable to expect knowledge of some git to > > explore the history of a package using git. > > Those two issues look similar at a superficial glance, but they are > fundamentally very different. It is impossible to understand a > program without knowing the language it is written in. But git is > just a development tool. It is only marginally necessary -- not > crucial. I think some version control system is crucial for large-scale software development - meaning the version control system used by the project you are working on (modulo the ability to use e.g. git-svn to have access to git facilities when using a project hosted in SVN - which many people do, because they want the greater power and familiarity of git). Early parts of the GNU system were developed without any version control, I think that shows that version control might be nice -- even important, but far away from crucial. I think that we should respect the experience of non-GNU free software developers managing very large non-GNU projects (e.g. the Linux kernel) with the above tools, but not using ChangeLog format, as a proof by example that ChangeLog format is not required to be able to answer all the questions about the history of the code that arise in practice in development. We should also respect the experience of the GNU project, with GCC, GDB, Emacs, Coreutils, and what not having a much longer history than most free software projects. ChangeLogs in their various forms have served us well for 40 years, across multiple version control system, across I'd wager to say millions of contributors over the decades. I think the GNU project should trust package maintainers *more*, not less - delegate more to them regarding technical decisions of when particular scripts or means of using version control are sufficiently good for understanding the package history. I don't see how having a small requirement of ChangeLog "entries" is saying that one trusts them less. Rather, the trust entrusted to each GNU project maintainer is very very large, how you activley run your project is really up to the maintainer. There are some thing common, but that is more to make things coherent between projects than anything. E.g. GNU bash isn't even using VCS to this date (AFAIK)...
