Skip to content

Commit 98aec3e

Browse files
committed
improve the blog post
1 parent 7fd8e0a commit 98aec3e

File tree

1 file changed

+38
-19
lines changed

1 file changed

+38
-19
lines changed

content/blog/2024-02-extending.md

+38-19
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,59 @@
11
+++
22
title = "Extending the coreutils project - Rewriting base tools in Rust "
33
draft = true
4-
date = 2024-02-17
4+
date = 2024-03-26
55
authors = ["Sylvestre Ledru", "Terts Diepraam"]
66
+++
77

8-
Over the last 4 years, we have been working at reimplementing some of the key linux tools in Rust. We started with the [Coreutils](https://github.com/uutils/coreutils) and [Findutils](https://github.com/uutils/findutils).
8+
Over the last 4 years, we have been working at reimplementing some of the key linux tools in Rust. We started with the [Coreutils](https://github.com/uutils/coreutils) and [findutils](https://github.com/uutils/findutils).
99

10-
As we are getting closer to parity with the GNU implementation of the Coreutils, we have been thinking about what is next.
10+
As we approach feature parity with the GNU Coreutils implementation, and as its adoption in production environments continues to expand, we have been thinking about what is next.
1111

12-
Given the overwhelming positive feedback around this initiative, we are going to extend our efforts to rewrite other part of the modern Linux/Unix/Mac stack in Rust. We also noticed a lot of contributions on these projects coming for a lot of different hackers. Rewriting in Rust will help with the longer term maintenance of the ecosystem, ensuring it stays robust and welcoming for new generations of contributors.
12+
Given the overwhelming positive feedback around this initiative, we are going to extend our efforts to rewrite other part of the modern Linux/Unix/Mac stack in Rust (still with Windows support in mind when relevant).
13+
We also noticed a lot of contributions on these projects coming for a lot of different hackers (475 different contributors on Coreutils!).
14+
With the growing enthusiasm for Rust and the eagerness to learn it, now is the best time to push this project. We think that rewriting in Rust will help with the longer term maintenance of the ecosystem, ensuring it stays robust, safe and welcoming for new generations of contributors.
1315

14-
For the next projects, we are using the same approach: dropped-in replacement of the GNU C implementation. For consistency purposes and not interested by a license debate, we are going to use the MIT license.
16+
We are
1517

18+
For the next projects, we are using the same approach: dropped-in replacement of the GNU C implementation.
1619
For now, we are going to focus on:
17-
* [util-linux](https://github.com/uutils/util-linux)
18-
* [bsdutils](https://github.com/uutils/bsdutils)
19-
* [procps](https://github.com/uutils/procps)
20-
* [diffutils](https://github.com/uutils/diffutils) (transfered by Michael Howell)
21-
* [acl](https://github.com/uutils/acl)
20+
* [diffutils](https://github.com/uutils/diffutils) (transferred by Michael Howell) - [Good first issues](https://github.com/uutils/diffutils/labels/good%20first%20issue)
21+
Almost ready
22+
* [procps](https://github.com/uutils/procps) - [Good first issues](https://github.com/uutils/procps/labels/good%20first%20issue)
23+
5 programs started
24+
* [acl](https://github.com/uutils/acl) - [Good first issues](https://github.com/uutils/acl/labels/good%20first%20issue)
25+
The 3 started
26+
* [util-linux](https://github.com/uutils/util-linux) - [Good first issues](https://github.com/uutils/util-linux/labels/good%20first%20issue)
27+
A couple programs started
28+
* [bsdutils](https://github.com/uutils/bsdutils) - [Good first issues](https://github.com/uutils/bsdutils/labels/good%20first%20issue)
29+
One program start
30+
* [login](https://github.com/uutils/login/) - [Good first issues](https://github.com/uutils/login/labels/good%20first%20issue)
31+
Just the skeleton
32+
* [hostname](https://github.com/uutils/hostname/) - [Good first issues](https://github.com/uutils/hostname/labels/good%20first%20issue)
33+
almost empty
2234

23-
TODO: maybe add login & hostname to the list
2435

25-
TODO: create and add links to the good first bugs
36+
These packages are part of the essential list on Debian & Ubuntu.
2637

27-
As they are part of the essential packages on Debian & Ubuntu.
2838

2939
Sylvestre Ledru, Terts Diepraam and Daniel Hofstetter
3040

31-
TODO: gsoc
32-
33-
TODO; sponsoring
34-
3541
FAQ
3642
###
3743

38-
License
44+
Do you hate the GNU project?
45+
----------------------------
46+
47+
Not at all: we often contribute to the upstream implementations when we identify issues, add missing tests, etc.
48+
49+
50+
Why the MIT License?
51+
--------------------
52+
53+
For consistency purposes and not interested by a license debate, we are going to use the MIT license just like the Coreutils.
54+
55+
56+
The binaries are too big?
57+
-------------------------
3958

40-
Binary sizes
59+
Does it really matter? Yes, Rust binaries are usually bigger then GNU but we don't think it is a blocker, even for embedded devices.

0 commit comments

Comments
 (0)