• 1 Post
  • 75 Comments
Joined 3 years ago
cake
Cake day: July 1st, 2023

help-circle



  • However, Linus’s kernel was more elaborate than GNU Hurd, so it was incorporated.

    Quite the opposite.

    GNU Hurd was a microkernel, using lots of cutting edge research, and necessitating a lot of additional complexity in userspace. This complexity also made it very difficult to get good performance.

    Linux, on the other hand, was just a bog standard Unix monolithic kernel. Once they got a libc working on it, most existing Unix userspace, including the GNU userspace, was easy to port.

    Linux won because it was simple, not elaborate.




  • With pipes/sockets, each program has to coordinate the establishment of the connection with the other program. This is especially problematic if you want to have modular daemons, e.g. to support drop-in replacements with alternative implementations, or if you have multiple programs that you need to communicate with (each with a potentially different protocol).

    To solve this problem, you want to standardize the connection establishment and message delivery, which is what dbus does.

    With dbus, you just write your message to the bus. Dbus will handle delivering the message to the right program. It can even start the receiving daemon if it is not yet running.

    It’s a bit similar to the role of an intermediate representation in compilers.







  • cbarrick@lemmy.worldtoOpen Source@lemmy.mlWhy GPL instead of AGPL license?
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    1
    ·
    2 years ago

    To be clear, when I say “corporate support,” I don’t mean the company pays you.

    I mean that the company pays someone (like an existing employee) to maintain their internal fork and contribute patches back upstream.

    That’s how all of the projects I listed operate.

    If you don’t care about interfacing with the industry like this, that’s totally fine, and the AGPL works. But if your goal is to write a piece of software that is used by the industry, then it can’t be AGPL without a strong and exceptional business model.

    And I’m not trying to make a statement about whether you should write this kind of software. It’s only a statement about what to expect if you write this kind of software.


  • FWIW, the stat structure in Linux does not include birth time [1]. It only gives you:

    1. atime: The time of last access.
    2. mtime: The time of last modification.
    3. ctime: The time of the last change to the inode.

    I assume the stat command is using a filesystem-specific method to get the birth time.

    Anyway, I don’t think any of these stats is guaranteed to be consistent with the rest (or even correct). For example, it is common to disable atime tracking to improve I/O performance.

    Assuming the data is accurate, I think the other comment about the file being a copy is the best explanation.