2
1
Fork 0
mirror of https://git.savannah.gnu.org/git/gnuboot.git synced 2025-01-05 07:47:41 +01:00
gnuboot/website/pages/docs/history/index.md
Denis 'GNUtoo' Carikli 0b89b94ecb
website: history: copyright: add verified website/.gitignore file.
The entries inside the "Verified copyright headers" section refer to
commit hashes. And since a commit can't refer to itself (unless SHA1
is broken), we split that in two commits.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-09-06 17:38:02 +02:00

5.9 KiB


title: GNU Boot source code history ...

Introduction

The GNU Boot project decided that it was a good thing to list all the contributors that modified a file in the copyright headers. There are many good reasons for that:

  • It simplify things (we don't need to decide what contribution is big enough to include its author in the copyright headers).

  • It also acknowledge people that did smaller but yet very valuable contributions.

  • If for some reasons who we decide to include or not in the header has some legal effects, by including more people there we practically speaking make the copyleft stronger as the copyright ownership is more distributed, and so a single individual cannot easily re-license the whole project under non-copyleft licenses.

However in the main GNU Boot repository there are many files whose copyright headers are incomplete as they miss some of the contributors.

Since some of the files have a very long history that spans through multiple projects and repositories, we found the need to document the complex history of the GNU Boot source code.

Git history

Here's a summary of the git history that is scattered across different repositories and projects:

And are the corresponding files to the image above:

Before Libreboot used git

Before using git, Libreboot was released as tarballs.

The commit cee90ae0fce6d6aee8d78969b60c952c8890abd6 in the

obsolete-repository-preserved-for-historical-purposes repository has more details on the first releases.

So far we know about these tarball releases before git:

+------------------------------+----------+---------------------------------------------------------------------+ | Release | date | URL | +------------------------------+----------+---------------------------------------------------------------------+ | 1st release | 20131212 | https://rsync.libreboot.org/oldstable/20131212/X60_source.tar.gz | +------------------------------+----------+---------------------------------------------------------------------+ | 2nd release | 20131213 | https://rsync.libreboot.org/oldstable/20131213/X60_source.tar.gz | +------------------------------+----------+---------------------------------------------------------------------+ | 3rd release | 20131214 | https://rsync.libreboot.org/oldstable/20131214/X60_source.tar.gz | +------------------------------+----------+---------------------------------------------------------------------+ | 4th release | 20140221 | https://rsync.libreboot.org/oldstable/20140221/X60_source.tar.gz | +------------------------------+----------+---------------------------------------------------------------------+ | 5th release, first revision | lost | lost | +------------------------------+----------+---------------------------------------------------------------------+ | 5th release, second revision | 20140622 | https://rsync.libreboot.org/oldstable/20140622/libreboot_src.tar.gz | +------------------------------+----------+---------------------------------------------------------------------+ | 6th release, first beta | 20140711 | https://rsync.libreboot.org/oldstable/20140711/libreboot_src.tar.gz | +------------------------------+----------+---------------------------------------------------------------------+

The "6th release, first beta" is also available in git, but we don't know yet if the git commit and the tarball are equivalent, so we included it as well.

Before the first Libreboot release

The first Libreboot release (20131212) also contains several git repositories that contains build scripts:

So some of the files present in GNU boot may or may not come from there.

And the gnutoo-for-coreboot repositories were made from scratch by GNUtoo.

Incomplete history

The history of the projects presented in this page is incomplete. So far we only have a partial code history. Contributions are welcome. See the git.md page about various ways to contribute to GNU Boot or to contact the project to update the information in this page.

Verified copyright headers

So far the copyright headers were verified on the following files:

  • build (details in commit 1ccd450fec "build: Update copyright header.").

  • website/.gitignore (details in the commit 722a8256ab031a533418cbcf27bedd0cd88b7660 ("website: .gitignore: add copyright header.")

  • resources/grub/config/grub.cfg (details in commit 2695c97561 "grub.cfg: Add copyright header.")

  • resources/packages/src/release (details in commit 65c0e57a55 "resources: packages: src: release: Update copyright header.")

Also note that some files are there to stay (like the grub.cfg file above) but since we took the decision to migrate packages to Guix, another way to help improve the copyright headers situation is to migrate packages to Guix and to make sure that the Guix packages have proper copyright headers.

Since we can add the path of verified files above, it is also possible to add files that never had any issues.

Some omissions can still manage to skip through code review after the verification but at least we have the proper git history that enables us to more easily reconstruct it.