From 610c1101919936b60c74de826f710095b1f553b9 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 23 Apr 2023 00:59:56 -0300 Subject: [PATCH 01/39] Meta.Categories, not Filesystem Directory Trees --- rfcs/0146-meta-categories.md | 204 +++++++++++++++++++++++++++++++++++ 1 file changed, 204 insertions(+) create mode 100755 rfcs/0146-meta-categories.md diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md new file mode 100755 index 000000000..fa15a3223 --- /dev/null +++ b/rfcs/0146-meta-categories.md @@ -0,0 +1,204 @@ +--- +feature: Decouple filesystem from categorization +start-date: 2023-04-23 +author: Anderson Torres +co-authors: (find a buddy later to help out with the RFC) +shepherd-team: (names, to be nominated and accepted by RFC steering committee) +shepherd-leader: (name to be appointed by RFC steering committee) +related-issues: (will contain links to implementation PRs) +--- + +# Summary +[summary]: #summary + +Deploy a new method of categorization for the packages maintained by Nixpkgs, +not relying on filesystem idiosyncrasies. + +# Motivation +[motivation]: #motivation + +Currently, Nixpkgs uses the filesystem, or more accurately, the directory tree +layout in order to informally categorize the softwares it packages, as described +in the [Hierarchy](https://nixos.org/manual/nixpkgs/stable/#sec-hierarchy) +section of Nixpkgs manual. + +This is a simple, easy to understand and consecrated-by-use method of +categorization, partially employed by many other package managers like GNU Guix +and NetBSD pkgsrc. + +However this system of categorization has serious problems: + +1. It is bounded by the constraints imposed by the filesystem. + + - Restrictions on filenames, subdirectory tree depth, permissions, inodes, + quotas, and many other things. + - Some of these restrictions are not well documented and are found simply + by "bumping" on them. + - The restrictions can vary on an implementation basis. + - Some filesystems have more restrictions or less features than others, + forcing an uncomfortable lowest common denominator. + - Some operating systems can impose additional constraints over otherwise + full-featured filesystems because of backwards compatibility (8 dot + 3,anyone?). + +2. It requires a local checkout of the tree. + + Certainly this checkout can be "cached" using some form of `find . > + /tmp/pkgs-listing.txt`, or more sophisticated solutions like `locate + + updatedb`. Nonetheless such solutions still require access to a fresh, + updated copy of the Nixpkgs tree. + +3. The creation of a new category - and more generally the manipulation of + categories - requires an unpleaseant task of renaming and eventually patching + many seemingly unrelated files. + + - Moving files around Nixpkgs codebase requires updating their forward and + backward references. + - Especially in some auxiliary tools like editor plugins, testing suites, + autoupdate scripts and so on. + - Rewriting `all-packages.nix` can be error-prone (even using Metapad) and it + can generate huge, noisy patches. + +4. There is no convenient way to use multivalued categorization. + + A piece of software can fulfill many categories; e.g. + - an educational game + - a console emulator (vs. a PC emulator) + - and a special-purpose programming language (say, a smart-contracts one). + + The current one-size-fits-all restriction is artificial, imposes unreasonable + limitations and results in incomplete and confusing information. + + - No, symlinks or hardlinks are not convenient for this purpose; not all + environments support them (falling on the "less features than others" + problem expressed before) and they convey nothing besides confusion - just + think about writing the corresponding entry in `all-packages.nix`. + +5. It puts over the (possibly human) package writer the mental load of where to + put the files on the filesystem hierarchy, deviating them from the job of + really writing them. + + - Or just taking the shortest path and throw it on a folder under `misc`. + +6. It "locks" the filesystem, preventing its usage for other, more sensible + purposes. + +7. The most important: the categorization is not discoverable via Nix language + infrastructure. + + Indeed there is no higher level way to query about such categories besides + the one described in the bullet 2 above. + +In light of such a bunch of problems, this RFC proposes a novel alternative to +the above mess: new `meta` attributes. + +# Detailed design +[design]: #detailed-design + +A new attribute, `meta.categories`, will be included for every Nix expression +living inside Nixpkgs. + +This attribute will be a list, whose elements are one of the possible elements +of the `lib.categories` set. + +A typical snippet of `lib.categories` will be similar to: + +```nix +{ + assembler = { + name = "Assembler"; + description = '' + A program that converts text written in assembly language to binary code. + ''; + }; + + compiler = { + name = "Compiler"; + description = '' + A program that converts a source from a language to another, usually from + a higher, human-readable level to a lower, machine level. + ''; + }; + + font = { + name = "Font"; + description = '' + A set of files that defines a set of graphically-related glyphs. + ''; + }; + + game = { + name = "Game"; + description = '' + A program developed with entertainment in mind. + ''; + }; + + interpreter = { + name = "Interpreter"; + description = '' + A program that directly executes instructions written in a programming + language, without requiring compilation into the native machine language. + ''; + }; + +``` + +# Examples and Interactions +[examples-and-interactions]: #examples-and-interactions + +In file bochs/default.nix: + +```nix +stdenv.mkDerivation { + +. . . + + meta = { + . . . + categories = with lib.categories; [ emulator debugger ]; + . . . + }; + }; +} + +``` + +# Drawbacks +[drawbacks]: #drawbacks + +The most immediate drawbacks are: + +1. A huge treewide edit of Nixpkgs + + On the other hand, this is easily sprintable and amenable to automation. + +2. Bikeshedding + + How many and which categories we should create? Can we expand them later? + +# Alternatives +[alternatives]: #alternatives + +1. Do nothing + +2. Ignore/nuke the categorization completely + + This is not an idea as bad as it appear. After all, categorization has a + non-negligible propensity to bikeshedding. Removing it removes all problems. + + Nonetheless, other good software collections do this just fine, and we can + easily imitate them. Indeed, we can follow/take a peek at how Repology keeps + the categorizations defined by those software collections. + +# Unresolved questions +[unresolved]: #unresolved-questions + +Still unsolved is what data structure is better suited to represent a category. + +# Future work +[future]: #future-work + +- Curation of categories. +- Update documentation. + From 415c97a5062a02deb639c8c5e0178a8a59f3366b Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 23 Apr 2023 18:35:51 -0300 Subject: [PATCH 02/39] Whitespace cleanup --- rfcs/0146-meta-categories.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index fa15a3223..4793a9fe4 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -61,7 +61,7 @@ However this system of categorization has serious problems: 4. There is no convenient way to use multivalued categorization. - A piece of software can fulfill many categories; e.g. + A piece of software can fulfill many categories; e.g. - an educational game - a console emulator (vs. a PC emulator) - and a special-purpose programming language (say, a smart-contracts one). @@ -172,10 +172,10 @@ The most immediate drawbacks are: 1. A huge treewide edit of Nixpkgs On the other hand, this is easily sprintable and amenable to automation. - + 2. Bikeshedding - How many and which categories we should create? Can we expand them later? + How many and which categories we should create? Can we expand them later? # Alternatives [alternatives]: #alternatives @@ -201,4 +201,3 @@ Still unsolved is what data structure is better suited to represent a category. - Curation of categories. - Update documentation. - From a908922ef67cef73854af7070c3bb94ac50cc5ae Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 23 Apr 2023 19:33:57 -0300 Subject: [PATCH 03/39] Add a short answer to the bikeshedding problem --- rfcs/0146-meta-categories.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 4793a9fe4..8e53eb517 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -177,6 +177,11 @@ The most immediate drawbacks are: How many and which categories we should create? Can we expand them later? + For start, we can follow/take inspiration from many of the already existing + categories sets and add extra ones when the needs arise. Indeed, it is way + easier to create such categories using Nix language when compared to other + software collections. + # Alternatives [alternatives]: #alternatives From f2eac8d7907269ccae3afa9cc9b4b7ddfe2ec250 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 23 Apr 2023 19:34:33 -0300 Subject: [PATCH 04/39] Add a short line on "Do nothing" alternative --- rfcs/0146-meta-categories.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 8e53eb517..7f26e4061 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -187,6 +187,8 @@ The most immediate drawbacks are: 1. Do nothing + This will exacerbate the problems already listed. + 2. Ignore/nuke the categorization completely This is not an idea as bad as it appear. After all, categorization has a From 5444d90368b34a23e43fcf76cdb16fe3103516d7 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 23 Apr 2023 19:35:02 -0300 Subject: [PATCH 05/39] Extend an answer for the "Ignore/nuke" alternative --- rfcs/0146-meta-categories.md | 37 ++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 7f26e4061..bbc6cd6da 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -193,18 +193,47 @@ The most immediate drawbacks are: This is not an idea as bad as it appear. After all, categorization has a non-negligible propensity to bikeshedding. Removing it removes all problems. - - Nonetheless, other good software collections do this just fine, and we can - easily imitate them. Indeed, we can follow/take a peek at how Repology keeps - the categorizations defined by those software collections. + + However, there are good reasons to keep the categorization: + + - The categorization is already present; this RFC proposes to expose it to a + higher level, in a more discoverable, structured format. + + - Categorization is very traditional among software collections. Many of them + are doing this just fine for years on end, and we can easily imitate them - + and even better, given we have Nix language machinery available. # Unresolved questions [unresolved]: #unresolved-questions Still unsolved is what data structure is better suited to represent a category. +For now we stick to a set `{ name, description }`. # Future work [future]: #future-work - Curation of categories. - Update documentation. + +# References +[references]: #references + +- [Desktop Menu + Specification](https://specifications.freedesktop.org/menu-spec/latest/); + specifically, + - [Main + categories](https://specifications.freedesktop.org/menu-spec/latest/apa.html) + - [Additional + categories](https://specifications.freedesktop.org/menu-spec/latest/apas02.html) + - [Reserved + categories](https://specifications.freedesktop.org/menu-spec/latest/apas03.html) + +- [NetBSD pkgsrc guide](https://www.netbsd.org/docs/pkgsrc/) + - Especially, [Chapter 12, Section + 1](https://www.netbsd.org/docs/pkgsrc/components.html#components.Makefile) + contains a short list of CATEGORIES. + +- [FreeBSD Porters + Handbook](https://docs.freebsd.org/en/books/porters-handbook/makefiles/#porting-categories) + - Especially + [Categories](https://docs.freebsd.org/en/books/porters-handbook/makefiles/#porting-categories) From 93ef1761ab35ba5101d822732738a59ce932b34e Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 5 May 2023 23:35:54 -0300 Subject: [PATCH 06/39] Add "update ci" to future work --- rfcs/0146-meta-categories.md | 1 + 1 file changed, 1 insertion(+) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index bbc6cd6da..935d1b8c2 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -214,6 +214,7 @@ For now we stick to a set `{ name, description }`. - Curation of categories. - Update documentation. +- Update Continuous Integration. # References [references]: #references From 2bf1c259b2b2e8287ab00c3447356ebd57ecc615 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 5 May 2023 23:36:47 -0300 Subject: [PATCH 07/39] Add a repl-like interaction example --- rfcs/0146-meta-categories.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 935d1b8c2..ebbdfaddf 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -164,6 +164,19 @@ stdenv.mkDerivation { ``` +In a `nix repl`: + +``` +nix-repl> :l +Added XXXXXX variables. + +nix-repl> pkgs.bochs.meta.categories +[ { ... } ] + +nix-repl> map (z: z.name) pkgs.bochs.meta.categories +[ "debugger" "emulator" ] +``` + # Drawbacks [drawbacks]: #drawbacks From e29a413134620912dbc74e10b7fe8cf5fa88f36f Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Tue, 9 May 2023 23:03:27 -0300 Subject: [PATCH 08/39] Add more arguments for categorization and against its nuking --- rfcs/0146-meta-categories.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index ebbdfaddf..2b4a5c842 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -216,6 +216,13 @@ The most immediate drawbacks are: are doing this just fine for years on end, and we can easily imitate them - and even better, given we have Nix language machinery available. + - A well-made categorization is useful for specialized search engines, + adding a new field for narrowing searches. + + - The complete removal of categorization is too harsh. A solution that keeps + and enhances the categorization is way more preferrable than one that nukes + it completely. + # Unresolved questions [unresolved]: #unresolved-questions From 79b92e9f3418d7a79ff1e526fdc10cec7d5bf8c5 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Tue, 9 May 2023 23:03:55 -0300 Subject: [PATCH 09/39] small rewording --- rfcs/0146-meta-categories.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 2b4a5c842..03839c58b 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -232,7 +232,7 @@ For now we stick to a set `{ name, description }`. # Future work [future]: #future-work -- Curation of categories. +- Curate the categories. - Update documentation. - Update Continuous Integration. From 004fc01b755c9eaf6a4fa96414b1197b50900709 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Tue, 9 May 2023 23:04:22 -0300 Subject: [PATCH 10/39] Add an option of category data structure --- rfcs/0146-meta-categories.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 03839c58b..634353a03 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -227,7 +227,10 @@ The most immediate drawbacks are: [unresolved]: #unresolved-questions Still unsolved is what data structure is better suited to represent a category. -For now we stick to a set `{ name, description }`. + +- For now we stick to a set `{ name, description }`. +- Given the redundancy of the option above, another possibility is something + like `nameOfCategory = { description = ""; . . . }` # Future work [future]: #future-work From 6289abed8076e9c1700bb387dfc12b2712ca1823 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Thu, 11 May 2023 23:26:11 -0300 Subject: [PATCH 11/39] reorder arguments against nuking --- rfcs/0146-meta-categories.md | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 634353a03..2769ea14f 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -212,17 +212,14 @@ The most immediate drawbacks are: - The categorization is already present; this RFC proposes to expose it to a higher level, in a more discoverable, structured format. - - Categorization is very traditional among software collections. Many of them - are doing this just fine for years on end, and we can easily imitate them - - and even better, given we have Nix language machinery available. - - - A well-made categorization is useful for specialized search engines, - adding a new field for narrowing searches. - - The complete removal of categorization is too harsh. A solution that keeps and enhances the categorization is way more preferrable than one that nukes it completely. + - Categorization is very traditional among software collections. Many of them + are doing this just fine for years on end, and Nixpkgs can imitate them + easily - and even better, given we have Nix language machinery available. + # Unresolved questions [unresolved]: #unresolved-questions From 602e521bd8687423c6cbaaf9dac98c2c32ddaa34 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Thu, 11 May 2023 23:26:41 -0300 Subject: [PATCH 12/39] add argument for usefulness of categorization --- rfcs/0146-meta-categories.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 2769ea14f..0cf5144ca 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -220,6 +220,13 @@ The most immediate drawbacks are: are doing this just fine for years on end, and Nixpkgs can imitate them easily - and even better, given we have Nix language machinery available. + - Categorization is useful in many scenarios and use cases - indeed they + are ubiquitous in software world: + - specialized search engines as Repology + - code forges, from Sourceforge to Gitlab + - as said above, software collections from pkgsrc to slackbuilds + - to organization and preservation + # Unresolved questions [unresolved]: #unresolved-questions From fd1d6afe6115418b4352d165f53b4276c4e12870 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sat, 20 May 2023 13:22:56 -0300 Subject: [PATCH 13/39] add drawback --- rfcs/0146-meta-categories.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 0cf5144ca..45e24cfe7 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -195,6 +195,21 @@ The most immediate drawbacks are: easier to create such categories using Nix language when compared to other software collections. +3. Superfluous + + It can be argued that there are other ways to discover similar or related + package sets, like Repology. + + However, this argument is a bit circular, because e.g. the classification + shown by Repology effectively replicates the classification done by the many + software collections in its catalog. Therefore, relying in Repology merely + transfers the question to external sources. + + Further it becomes more pronounced when we take into account the fact Nixpkgs + is top 1 of most Repology statistics. The expected outcome, therefore, should + be precisely the opposite: Nixpkgs being _the_ source of structured metainfo + for other software collections. + # Alternatives [alternatives]: #alternatives From c30ff6c64afd06ce02ecdc5163c033d576fc808c Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sat, 20 May 2023 13:23:49 -0300 Subject: [PATCH 14/39] rework nuke argument --- rfcs/0146-meta-categories.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 45e24cfe7..4dc1041cb 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -219,28 +219,30 @@ The most immediate drawbacks are: 2. Ignore/nuke the categorization completely - This is not an idea as bad as it appear. After all, categorization has a - non-negligible propensity to bikeshedding. Removing it removes all problems. + This is an alternative worthy of some consideration. After all, + categorization is not without its problems, as shown above. Removing or + ignoring classification removes all problems. However, there are good reasons to keep the categorization: - - The categorization is already present; this RFC proposes to expose it to a - higher level, in a more discoverable, structured format. - - The complete removal of categorization is too harsh. A solution that keeps and enhances the categorization is way more preferrable than one that nukes it completely. + - As said before, the categorization is already present; this RFC proposes to + expose it to a higher level, in a structured, more discoverable format. + - Categorization is very traditional among software collections. Many of them are doing this just fine for years on end, and Nixpkgs can imitate them - easily - and even better, given we have Nix language machinery available. + easily - and even surpass them, given the benefits of Nix language + machinery. - Categorization is useful in many scenarios and use cases - indeed they are ubiquitous in software world: - - specialized search engines as Repology + - specialized search engines (from Repology to MELPA) - code forges, from Sourceforge to Gitlab - as said above, software collections from pkgsrc to slackbuilds - - to organization and preservation + - to organization and preservation (as Software Heritage) # Unresolved questions [unresolved]: #unresolved-questions From 907d510a23283ee9164eaa2da35868c83cf800f0 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Wed, 23 Aug 2023 22:30:28 -0300 Subject: [PATCH 15/39] update metainfo - shepherd team and leader --- rfcs/0146-meta-categories.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 4dc1041cb..0f59fc002 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -2,9 +2,9 @@ feature: Decouple filesystem from categorization start-date: 2023-04-23 author: Anderson Torres -co-authors: (find a buddy later to help out with the RFC) -shepherd-team: (names, to be nominated and accepted by RFC steering committee) -shepherd-leader: (name to be appointed by RFC steering committee) +co-authors: +shepherd-team: @7c6f434c @natsukium @fgaz @infinisil +shepherd-leader: @7c6f434c related-issues: (will contain links to implementation PRs) --- From 4d02382cb2d57c75400b757aa76e49ef931a3d29 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Wed, 25 Oct 2023 23:32:22 -0300 Subject: [PATCH 16/39] Add prior art section Also, add extra links --- rfcs/0146-meta-categories.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 0f59fc002..65e439a69 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -244,6 +244,16 @@ The most immediate drawbacks are: - as said above, software collections from pkgsrc to slackbuilds - to organization and preservation (as Software Heritage) +# Prior art +[prior-art]: #prior-art + +As said above, categorization is very traditional among software collections. It +is not hard to cite examples in this arena; the most interesting ones I have +found are listed above (linked at [references section](#references)) + +- FreeBSD Ports; +- Debtags; + # Unresolved questions [unresolved]: #unresolved-questions @@ -273,6 +283,10 @@ Still unsolved is what data structure is better suited to represent a category. - [Reserved categories](https://specifications.freedesktop.org/menu-spec/latest/apas03.html) +- [Appstream](https://www.freedesktop.org/wiki/Distributions/AppStream/) + +- [Debtags](https://wiki.debian.org/Debtags) + - [NetBSD pkgsrc guide](https://www.netbsd.org/docs/pkgsrc/) - Especially, [Chapter 12, Section 1](https://www.netbsd.org/docs/pkgsrc/components.html#components.Makefile) From 0a868c6b38471ee4424b01ffdec6bcbcffd48627 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 24 May 2024 07:49:16 -0300 Subject: [PATCH 17/39] typo --- rfcs/0146-meta-categories.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 65e439a69..083c746d0 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -39,7 +39,7 @@ However this system of categorization has serious problems: forcing an uncomfortable lowest common denominator. - Some operating systems can impose additional constraints over otherwise full-featured filesystems because of backwards compatibility (8 dot - 3,anyone?). + 3, anyone?). 2. It requires a local checkout of the tree. From e2589269fae391fba5df5784b408f4d6cef2a5a9 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 24 May 2024 07:49:31 -0300 Subject: [PATCH 18/39] Categorization Team --- rfcs/0146-meta-categories.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 083c746d0..1c1a3028f 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -266,9 +266,11 @@ Still unsolved is what data structure is better suited to represent a category. # Future work [future]: #future-work -- Curate the categories. -- Update documentation. -- Update Continuous Integration. +- Create a team to manage categorization-related issues, including but not + limited to: + - Curate the categories. + - Update documentation. + - Update Continuous Integration. # References [references]: #references @@ -293,6 +295,6 @@ Still unsolved is what data structure is better suited to represent a category. contains a short list of CATEGORIES. - [FreeBSD Porters - Handbook](https://docs.freebsd.org/en/books/porters-handbook/makefiles/#porting-categories) + Handbook](https://docs.freebsd.org/en/books/porters-handbook/) - Especially [Categories](https://docs.freebsd.org/en/books/porters-handbook/makefiles/#porting-categories) From 98a83489923e4461bd8c6d9051ff830fe2034dcb Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 24 May 2024 10:30:47 -0300 Subject: [PATCH 19/39] Remove the optional data structure --- rfcs/0146-meta-categories.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 1c1a3028f..f8ee431b5 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -260,8 +260,6 @@ found are listed above (linked at [references section](#references)) Still unsolved is what data structure is better suited to represent a category. - For now we stick to a set `{ name, description }`. -- Given the redundancy of the option above, another possibility is something - like `nameOfCategory = { description = ""; . . . }` # Future work [future]: #future-work From cc8caa35581cb55cfb60e277ef49eff680faa0d6 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 24 May 2024 11:56:32 -0300 Subject: [PATCH 20/39] typo --- rfcs/0146-meta-categories.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index f8ee431b5..44a50b11c 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -242,7 +242,7 @@ The most immediate drawbacks are: - specialized search engines (from Repology to MELPA) - code forges, from Sourceforge to Gitlab - as said above, software collections from pkgsrc to slackbuilds - - to organization and preservation (as Software Heritage) + - organization and preservation (as Software Heritage) # Prior art [prior-art]: #prior-art From 618dc67b4c491be252426542c014f5af09bf7a3f Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 24 May 2024 11:57:37 -0300 Subject: [PATCH 21/39] reword the creation of a team --- rfcs/0146-meta-categories.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 44a50b11c..0cbd57539 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -264,11 +264,15 @@ Still unsolved is what data structure is better suited to represent a category. # Future work [future]: #future-work -- Create a team to manage categorization-related issues, including but not - limited to: - - Curate the categories. - - Update documentation. - - Update Continuous Integration. +Given the typical complexities that arise from categorization, and expecting +that regular maintainers are not expected to understand its minuteness, it is +strongly recommended the creation of a team entrusted to manage issues related +to categorization, including but not limited to: + +- Update documentation. +- Curate the categories. +- Update Continuous Integration. +- Integrate categorization over the current codebase. # References [references]: #references From abbf7fdcf1b7530fa62f705292ffb0c799219db4 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 24 May 2024 11:57:56 -0300 Subject: [PATCH 22/39] Debtags FAQ --- rfcs/0146-meta-categories.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 0cbd57539..894a90553 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -291,6 +291,8 @@ to categorization, including but not limited to: - [Debtags](https://wiki.debian.org/Debtags) + - [Debtags FAQ](https://wiki.debian.org/Debtags/FAQ) + - [NetBSD pkgsrc guide](https://www.netbsd.org/docs/pkgsrc/) - Especially, [Chapter 12, Section 1](https://www.netbsd.org/docs/pkgsrc/components.html#components.Makefile) From 0e216730ce1c3316c579139d854c44801ee714dd Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 24 May 2024 12:50:13 -0300 Subject: [PATCH 23/39] Update rules and duties of categorization team --- rfcs/0146-meta-categories.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 894a90553..82bf9a7be 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -274,6 +274,16 @@ to categorization, including but not limited to: - Update Continuous Integration. - Integrate categorization over the current codebase. +Such a team should receive authority to carry out: + +- Coordinaton of efforts to import, integrate and update categorization of + packages. +- Disputations over categorization, especially corner cases. +- Decisions about when a Continuous Integration check for categorisation is + ready to be developed with gray/neutral failure statuses, and when a CI check + with a good track record in gray mode can be upgraded to red/blocking + failures. + # References [references]: #references From 21ec34011a78c51faebd48a6f333c7e47e0543de Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 24 May 2024 14:24:33 -0300 Subject: [PATCH 24/39] The team shall have authority to carry out their duties --- rfcs/0146-meta-categories.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 82bf9a7be..029cd7684 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -274,7 +274,7 @@ to categorization, including but not limited to: - Update Continuous Integration. - Integrate categorization over the current codebase. -Such a team should receive authority to carry out: +Such a team should receive authority to carry out their duties: - Coordinaton of efforts to import, integrate and update categorization of packages. From a18c24a55e08275fa92c161f1910d033cecb349e Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 24 May 2024 14:29:38 -0300 Subject: [PATCH 25/39] A section for the team --- rfcs/0146-meta-categories.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 029cd7684..17e130803 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -264,10 +264,15 @@ Still unsolved is what data structure is better suited to represent a category. # Future work [future]: #future-work +## Categorization Team +[categorization-team]: #categorization-team + Given the typical complexities that arise from categorization, and expecting -that regular maintainers are not expected to understand its minuteness, it is -strongly recommended the creation of a team entrusted to manage issues related -to categorization, including but not limited to: +that regular maintainers are not expected to understand its minuteness +(according to the experience from [Debtags +Team](https://wiki.debian.org/Debtags/FAQ#Why_don.27t_you_just_ask_the_maintainers_to_tag_their_own_packages.3F)), +it is strongly recommended the creation of a team entrusted to manage issues +related to categorization, including but not limited to: - Update documentation. - Curate the categories. From f771094f0a36671cfbfd1b86a2679698753a895f Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 24 May 2024 14:32:54 -0300 Subject: [PATCH 26/39] Appstream as prior art --- rfcs/0146-meta-categories.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 17e130803..c608e84f3 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -249,10 +249,11 @@ The most immediate drawbacks are: As said above, categorization is very traditional among software collections. It is not hard to cite examples in this arena; the most interesting ones I have -found are listed above (linked at [references section](#references)) +found are listed below (linked at [references section](#references)): - FreeBSD Ports; - Debtags; +- Appstream Project; # Unresolved questions [unresolved]: #unresolved-questions From eb079f667c099ad10506b9cf7392df59bee15b3e Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 24 May 2024 16:45:54 -0300 Subject: [PATCH 27/39] Section for code implementation --- rfcs/0146-meta-categories.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index c608e84f3..15a29620d 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -95,6 +95,9 @@ the above mess: new `meta` attributes. # Detailed design [design]: #detailed-design +## Code Implementation +[code-implementation]: #code-implementation + A new attribute, `meta.categories`, will be included for every Nix expression living inside Nixpkgs. @@ -258,9 +261,15 @@ found are listed below (linked at [references section](#references)): # Unresolved questions [unresolved]: #unresolved-questions -Still unsolved is what data structure is better suited to represent a category. +There are some still unsolved issues: + +- What data structure is suitable to represent a category? + + - For now we stick to the most natural: a set `{ name, description }`. -- For now we stick to a set `{ name, description }`. +- Should we have a set of primary, "most important" categories with mandatory + status, in the sense each package should set at least one of them? + - The answer is most certainly positive. # Future work [future]: #future-work From 0ad89e7aff6a6b72b9769756d0ad6bea59ea2483 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 24 May 2024 16:47:00 -0300 Subject: [PATCH 28/39] Move categorization team to implementation --- rfcs/0146-meta-categories.md | 34 ++++++++++------------------------ 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 15a29620d..ab73db0cf 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -147,6 +147,16 @@ A typical snippet of `lib.categories` will be similar to: ``` +## Categorization Team +[categorization-team]: #categorization-team + +Given the typical complexities that arise from categorization, and expecting +that regular maintainers are not expected to understand its minuteness +(according to the experience from [Debtags +Team](https://wiki.debian.org/Debtags/FAQ#Why_don.27t_you_just_ask_the_maintainers_to_tag_their_own_packages.3F)), +it is strongly recommended the creation of a team entrusted with authority to +manage issues related to categorization and carry their corresponding duties. + # Examples and Interactions [examples-and-interactions]: #examples-and-interactions @@ -274,30 +284,6 @@ There are some still unsolved issues: # Future work [future]: #future-work -## Categorization Team -[categorization-team]: #categorization-team - -Given the typical complexities that arise from categorization, and expecting -that regular maintainers are not expected to understand its minuteness -(according to the experience from [Debtags -Team](https://wiki.debian.org/Debtags/FAQ#Why_don.27t_you_just_ask_the_maintainers_to_tag_their_own_packages.3F)), -it is strongly recommended the creation of a team entrusted to manage issues -related to categorization, including but not limited to: - -- Update documentation. -- Curate the categories. -- Update Continuous Integration. -- Integrate categorization over the current codebase. - -Such a team should receive authority to carry out their duties: - -- Coordinaton of efforts to import, integrate and update categorization of - packages. -- Disputations over categorization, especially corner cases. -- Decisions about when a Continuous Integration check for categorisation is - ready to be developed with gray/neutral failure statuses, and when a CI check - with a good track record in gray mode can be upgraded to red/blocking - failures. # References [references]: #references From fa75eec1ddf52f72ad2eea7d7568a544c567000d Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 24 May 2024 16:47:34 -0300 Subject: [PATCH 29/39] Update future work --- rfcs/0146-meta-categories.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index ab73db0cf..191ee22cb 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -284,6 +284,19 @@ There are some still unsolved issues: # Future work [future]: #future-work +- Create the [categorization team](#categorization-team) +- Carry out the duties correlated to categorization, including but not limited + to: + + - Documentation updates; + - Category curation, integration and updates; + - Continuous Integration updates and adaptations; + - Coordinaton of efforts to import, integrate and update categorization of + packages; + - Litigations and disputations: + - Solve disputations over categorization, especially corner cases; + - Solve and enforce implementation issues from CI checks + - When should a CI check about categorization be treated as blocking? # References [references]: #references From ee8633c528ce22bcef1ef89bac1025913bd873f9 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 24 May 2024 17:00:53 -0300 Subject: [PATCH 30/39] A hybrid approach to be considered by the future team --- rfcs/0146-meta-categories.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 191ee22cb..324cb5947 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -147,6 +147,22 @@ A typical snippet of `lib.categories` will be similar to: ``` +### Hybrid approach +[hybrid-approach]: #hybrid-approach + +A hybrid approach for code implementation would be implement two meta +attributes, namely + +- `meta.categories` for Appstream-based categories + - the corresponding `lib.categories` should follow Appstream closely, with + few room to custom/extra categories +- `meta.tags` for Debtags-like tags + - while being inspired from the venerable Debtags work, the corresponding + `lib.tags` is completely free to modify and even divert from Debtags, + following its own way +- generally speaking, `lib.tags` should be less bureaucratic than + `lib.categories` + ## Categorization Team [categorization-team]: #categorization-team From 2dcb0ed29badb072c8d5d1d932befb144687e5c2 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 24 May 2024 17:01:58 -0300 Subject: [PATCH 31/39] extra duties for the team --- rfcs/0146-meta-categories.md | 1 + 1 file changed, 1 insertion(+) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 324cb5947..f76f9d25a 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -304,6 +304,7 @@ There are some still unsolved issues: - Carry out the duties correlated to categorization, including but not limited to: + - Decide between possibilities of implementation; - Documentation updates; - Category curation, integration and updates; - Continuous Integration updates and adaptations; From e0ee96f7d2cba2eb12b923c637460fd9c45886ad Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 24 May 2024 17:38:10 -0300 Subject: [PATCH 32/39] reword duties from team --- rfcs/0146-meta-categories.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index f76f9d25a..d0d939dcf 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -311,9 +311,9 @@ There are some still unsolved issues: - Coordinaton of efforts to import, integrate and update categorization of packages; - Litigations and disputations: - - Solve disputations over categorization, especially corner cases; - - Solve and enforce implementation issues from CI checks - - When should a CI check about categorization be treated as blocking? + - Solve them, especially in corner cases; + - Enforce implementation issues + - Decide when a CI check should block # References [references]: #references From a029a2261d6d700ac8b11868214a9e49e65a1b7c Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 24 May 2024 17:39:12 -0300 Subject: [PATCH 33/39] typo --- rfcs/0146-meta-categories.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index d0d939dcf..db31510ec 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -313,7 +313,7 @@ There are some still unsolved issues: - Litigations and disputations: - Solve them, especially in corner cases; - Enforce implementation issues - - Decide when a CI check should block + - Decide when a CI check should be converted to block # References [references]: #references From 172cc8eb18dca613754a82944ad3449efd00a55d Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 24 May 2024 17:44:49 -0300 Subject: [PATCH 34/39] A semantic detail: treat the first element of meta.categories as most important --- rfcs/0146-meta-categories.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index db31510ec..8446fbbe1 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -147,6 +147,13 @@ A typical snippet of `lib.categories` will be similar to: ``` +### Semantic Details +[semantic-details]: #semantic-details + +Given that `meta.categories` is implemented as a list, it is interesting to +treat the first element of this list as the "most important" categorization, the +one that mostly identifies with the software being classified. + ### Hybrid approach [hybrid-approach]: #hybrid-approach From fdc242419f24c67ebc3441c94811be97da6a1dfe Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 24 May 2024 17:52:15 -0300 Subject: [PATCH 35/39] Move hybrid approach to alternatives section --- rfcs/0146-meta-categories.md | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 8446fbbe1..93b9f515a 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -154,22 +154,6 @@ Given that `meta.categories` is implemented as a list, it is interesting to treat the first element of this list as the "most important" categorization, the one that mostly identifies with the software being classified. -### Hybrid approach -[hybrid-approach]: #hybrid-approach - -A hybrid approach for code implementation would be implement two meta -attributes, namely - -- `meta.categories` for Appstream-based categories - - the corresponding `lib.categories` should follow Appstream closely, with - few room to custom/extra categories -- `meta.tags` for Debtags-like tags - - while being inspired from the venerable Debtags work, the corresponding - `lib.tags` is completely free to modify and even divert from Debtags, - following its own way -- generally speaking, `lib.tags` should be less bureaucratic than - `lib.categories` - ## Categorization Team [categorization-team]: #categorization-team @@ -280,6 +264,24 @@ The most immediate drawbacks are: - as said above, software collections from pkgsrc to slackbuilds - organization and preservation (as Software Heritage) +3. Debtags/Appstream hybrid approach + +A hybrid approach for code implementation would be implement two meta +attributes, namely + +- `meta.categories` for Appstream-based categories + - the corresponding `lib.categories` should follow Appstream closely, with + few room to custom/extra categories +- `meta.tags` for Debtags-like tags + - while being inspired from the venerable Debtags work, the corresponding + `lib.tags` is completely free to modify and even divert from Debtags, + following its own way +- generally speaking, `lib.tags` should be less bureaucratic than + `lib.categories` + +However, this approach arguably elevates the complexity of the whole work, and +adds too much redundancy. + # Prior art [prior-art]: #prior-art From 11a775706cfd24379290c979a076d97356c85d31 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 28 Jun 2024 10:44:18 -0300 Subject: [PATCH 36/39] identify AndersonTorres' tag --- rfcs/0146-meta-categories.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 93b9f515a..6851f4b9b 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -1,7 +1,7 @@ --- feature: Decouple filesystem from categorization start-date: 2023-04-23 -author: Anderson Torres +author: Anderson Torres (@AndersonTorres) co-authors: shepherd-team: @7c6f434c @natsukium @fgaz @infinisil shepherd-leader: @7c6f434c From bcc24446bb403c928f6e8dd1b905897fd4765171 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 28 Jun 2024 10:47:24 -0300 Subject: [PATCH 37/39] Suggestions from FCP --- rfcs/0146-meta-categories.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 6851f4b9b..13a50d6aa 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -296,10 +296,9 @@ found are listed below (linked at [references section](#references)): # Unresolved questions [unresolved]: #unresolved-questions -There are some still unsolved issues: +There are remaining issues to be solved by the categorization team: - What data structure is suitable to represent a category? - - For now we stick to the most natural: a set `{ name, description }`. - Should we have a set of primary, "most important" categories with mandatory @@ -323,6 +322,7 @@ There are some still unsolved issues: - Solve them, especially in corner cases; - Enforce implementation issues - Decide when a CI check should be converted to block + - Grace periods # References [references]: #references From 9979bef3549662578c2c8b5bef9e68ca75ae2b37 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 28 Jun 2024 18:20:11 -0300 Subject: [PATCH 38/39] remove infinisil from shepherd team --- rfcs/0146-meta-categories.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 13a50d6aa..439f8bf4d 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -3,7 +3,7 @@ feature: Decouple filesystem from categorization start-date: 2023-04-23 author: Anderson Torres (@AndersonTorres) co-authors: -shepherd-team: @7c6f434c @natsukium @fgaz @infinisil +shepherd-team: @7c6f434c @natsukium @fgaz shepherd-leader: @7c6f434c related-issues: (will contain links to implementation PRs) --- From f643103179b80f71b7ee21050ef8a51759fabe52 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 7 Jul 2024 12:32:24 -0300 Subject: [PATCH 39/39] add an extra reference to the categorization team --- rfcs/0146-meta-categories.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rfcs/0146-meta-categories.md b/rfcs/0146-meta-categories.md index 439f8bf4d..589ce7220 100755 --- a/rfcs/0146-meta-categories.md +++ b/rfcs/0146-meta-categories.md @@ -215,6 +215,8 @@ The most immediate drawbacks are: easier to create such categories using Nix language when compared to other software collections. + Further, the creation of a categorization team can resolve those litigations. + 3. Superfluous It can be argued that there are other ways to discover similar or related