Open Source Computing

Week 10, Mar 23




An interesting view of Torvald's no-regression policy

blog.farhan.codes/2018/06/25/linux-maintains-bugs-the-real-reason-ifconfig-on-linux-is-deprecated.

Specific system calls are not the only mechanism by which applications interact with the Linux kernel. There are also applications that get the information they need by using generic methods to access kernel memory data structures. When these data structures are updated, things break.

One example is the network program ifconfig.

From the article:

Linux’s solution to this problem was to create a policy of never breaking userland applications. This means userland interfaces to the Linux kernel never change under any circumstances, even if they malfunction and have known bugs. That is worth reiterating. Linux maintains known bugs – and actively refuses to fix them. In fact, if you attempt to fix them, Linus will curse at you, as manifest by this email.

Ifconfig gets its network information from kernel tables. Ifconfig is stuck on the model that each interface has only one IP address. This hasn't been true of IPv4 for a long time, and was never true for IPv6.

Ifconfig itself could have been updated. But it has not been; instead, it has been replaced by the newer ip command. The FreeBSD approach is to update the kernel and associated ifconfig-like commands simultaneously; the Linux no-regression policy doesn't allow this as then the kernel interface would have to change.


Cathedral v Bazaar

Terry Lambert on fetchmail

Open-source management

Communications

An article about Firefox from The Economist: economist.com/business/2019/07/20/what-open-source-culture-can-teach-tech-titans-and-their-critics.

The real point here is that Firefox is perhaps the best example of open-source software that works well for nontechnical users. LibreOffice comes close, but there are some rough edges. (Having you find bugs in LibreOffice is easy, by comparison with Firefox.)

The other open-source-for-the-masses issue is that open source software is easier to trust. Firefox gets a lot of money from Google for making google.com the default Firefox search engine. But, overall, Firefox isn't beholden to advertisers the way Chrome is.

It is a bit of a mystery why Microsoft never managed to leverage Internet Explorer / Edge into a browser that was highly trusted by users. Even Apple Safari never gained a reputation as a privacy-friendly browser.

Linux security

    Apple TLS
    OpenSSL

Look at kernel code

github.com/torvalds/linux/blob/master/net/ipv4/tcp.c

github.com/torvalds/linux/blob/master/net/ipv4/tcp_cong.c

github.com/torvalds/linux/blob/master/include/net/tcp.h

What next?