Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Open Source Linux

Systemd Now Has More Than 1.2 Million Lines of Code (phoronix.com) 249

This week Phoronix marked a very special anniversary: Five years ago today was the story on Phoronix how the systemd source tree was approaching 550k lines so curiosity got the best of me to see how large is the systemd Git repository today. Well, now it's over 1.2 million lines.

After surpassing one million lines in 2017, when running GitStats on the systemd Git repository today it's coming in at 1,207,302 lines. Those 1.2 million lines are spread across 3,260 files and made over 40,057 commits from nearly 1,400 different authors... So far this year there have been 2,145 commits while last year saw 6,245 commits while 2016 and 2017 each saw less than four thousand commits total. Lennart Poettering continues being the most prolific contributor to systemd with more than 32% of the commits so far this year.

This discussion has been archived. No new comments can be posted.

Systemd Now Has More Than 1.2 Million Lines of Code

Comments Filter:
  • So? (Score:4, Insightful)

    by Rosco P. Coltrane ( 209368 ) on Saturday May 25, 2019 @02:35PM (#58653766)

    It's a large project. Duh. Or are we still stoking the systemd hate fire in 2019?

    • Re:So? (Score:5, Insightful)

      by Anonymous Coward on Saturday May 25, 2019 @02:42PM (#58653798)

      because $current_year has no bearing on the legitimate complaints because none have been addressed.

      • Comment removed (Score:4, Insightful)

        by account_deleted ( 4530225 ) on Saturday May 25, 2019 @04:26PM (#58654324)
        Comment removed based on user account deletion
        • by Anonymous Coward

          Most of the original complaints were and still are unmitigated bullshit. For example, the logs are binary because it makes easier to search / filter / secure / tamper proof them and if you want text logs you just set up systemd to log to a text file. The arguments are all that stupid for the most part.

        • by AHuxley ( 892839 )
          Re 'isn't perfect"
          Thats the part really smart computer people got thinking about a long time ago.
          Do the one task well.
    • Have any audits been completed? Or are we using the many eyes argument?

    • Re: (Score:1, Funny)

      by Anonymous Coward

      I really appreciate the support for HEVC and x264 hardware assisted decoding
      and encoding provided by the latest systemd in "stable." There's talk about merging
      with pulse audio, but there has to be buy-in from the original pulse audio developer,
      and I hear he's very polarized and difficult to work with...

      CAP === 'dissent'

    • Re:So? (Score:5, Insightful)

      by msauve ( 701917 ) on Saturday May 25, 2019 @04:21PM (#58654296)
      systemd is like the Borg. Eventually, it will assimilate the kernel, all gnu utils, and X.
      • Re:So? (Score:5, Funny)

        by fahrbot-bot ( 874524 ) on Saturday May 25, 2019 @05:02PM (#58654440)

        systemd is like the Borg. Eventually, it will assimilate the kernel, all gnu utils, and X.

        Eventually Systemd and Emacs will have to fight it out. I'm betting on Emacs for the win.

        • by msauve ( 701917 )
          Ed, man! !man ed
          ...

          And ed doesn't waste space on my Timex Sinclair. Just look:

          -rwxr-xr-x 1 root 24 Oct 29 1929 /bin/ed
          -rwxr-xr-t 4 root 1310720 Jan 1 1970 /usr/ucb/vi
          -rwxr-xr-x 1 root 5.89824e37 Oct 22 1990 /usr/bin/emacs
          • Ed, man! !man ed
            And ed doesn't waste space on my Timex Sinclair. Just look:

            Emacs can emulate Ed and Vi (and a bunch of other editors) ...

        • by jythie ( 914043 )
          Systemd... a system either written by people who didn't learn from the history of Emacs, or who thought it was a really cool idea.
    • by gweihir ( 88907 )

      It's a large project. Duh.

      That is the whole problem. An init system must be small and compact, otherwise it cannot be reliable and secure.

    • SystemD Derangement Syndrome (SDDS) is a real thing here.

      I thought at first it was just lazy sysadmins who didn't want to learn it or move to a distro that doesn't use it.

      Now it seems much more apparent that it's lazy sysadmins who want to tell other people how to run their systems. They hate competition because they Know Better. It's the worst kind of will to power as they are very unlikely to be contributors to the bash-based distros, which definitely have their place and value.

      You'll see one above clai

  • by account_deleted ( 4530225 ) on Saturday May 25, 2019 @02:42PM (#58653804)
    Comment removed based on user account deletion
  • by Ungrounded Lightning ( 62228 ) on Saturday May 25, 2019 @02:47PM (#58653830) Journal

    Can you imagine:
      - working in a small startup company,
      - making a product which sells into large industrial corporations
      - who use it for mission critical infrastructure
      - when that product includes a component that runs an embedded OS,
      - which contains a necessarily privileged core sussystem
      - which is over 1.2 million lines
      - and growing at 275 lines per day
      - and trying to do a security audit on it?

    • Can you imagine: *snip* working in a small startup company *snip* and trying to do a security audit

      Nope, because I'm sure that never happens.

    • by Freshly Exhumed ( 105597 ) on Saturday May 25, 2019 @03:17PM (#58654002) Homepage

      All developed in Rube Goldberg-style. They built a giant hammer, and now everything looks like a nail. Each time they clobber another nail, they call it proof that they need to build the hammer bigger.

      • by thegarbz ( 1787294 ) on Saturday May 25, 2019 @08:13PM (#58655146)

        Actually they built a Dremel. A multi-functional rotary tool which replaces a lot of dedicated separate tools and is far more useful for a general case. Every time they see a use case they release another attachment to bolt on the end. What this resulted in is something hugely popular, not perfect for every scenario but damn good enough for most.

        • Re: (Score:3, Interesting)

          by HiThere ( 15173 )

          I have yet to encounter a use-case for which systemD is an improvement over init. I'm not saying they don't exist, but I've never encountered one. And I've encountered more than two for which systemD is considerably worse.

          • by jythie ( 914043 )
            The people who write packages seem to like it, so I am guessing it is better for maintainers? I've found it mostly makes maintaining servers with more than one service on them more complicated, but not sure how many people actually do that anymore anyway.
          • I have yet to encounter a use-case for which systemD is an improvement over init.

            That is probably because you have a narrow definition of the purpose of init and you actually believe the system state should not reflect the current hardware state, should not be event driven, should be executed purely linearly, and that additional management of daemons should be the result some other daemon management system not running PID 1, and the entire mess be handled by scripts with an endless amount of copy pasted bash code.

            Personally I believe the opposite which is why I find SystemD to be a rath

            • by bungo ( 50628 )

              Maybe he's running Linux in servers in secure a data center where hardware changes only take place with controlled and audited processes, and therefore all of the things you mentioned about the 'current state of the hardware' is not relevant.

              If you find that SystemD is a 'massive improvement', then I can only assume that you do not professionally manage servers, especially servers for third parties.

              Not everyone uses Linux on a laptop or desktop.

              • by HiThere ( 15173 )

                Actually, these days I mainly use Linux on my personal desktop. But there still aren't any hardware changes that I don't manage personally.

        • by dryeo ( 100693 )

          The problem is that they needed something to hammer nails and, as you say, built a Dremel.

    • by dyfet ( 154716 ) on Saturday May 25, 2019 @03:38PM (#58654102) Homepage

      As engineering director at a large interconnect in the mid 90's I made a key decision to put a GNU/Linux server in a mission critical piece of infrastructure for the then new Alaska Native Medical Center, in Anchorage. I fully appreciated lives were at stake, and in fact lives were lost, not from this, but from another vendor who chose to use NT for the hospitals medical paging system, which, from my experience while I was there, was frequently down. In fact, the only "issue" I had with our reliable server, hence it's long uptime, was being an early discoverer of the Jiffies overflow bug.

      Would I feel comfortable making the same decision today using any systemd distro? Based on my own experiences with systemd since its introduction, the answer is clearly NO. Would I feel comfortable to do it with another distro that did not have systemd (Alpine, Gentoo, Devuan, ...)? Yes, I would feel comfortable doing that, or using BSD. Along with the code, the issues with systemd since its introduction have not shrunk, but also continue to grow. If I could not have trusted it for that mission if it had existed then, how can I trust it for anything now?

    • Re: (Score:3, Insightful)

      by AmiMoJo ( 196126 )

      What I find incredible is that it's apparently so terrible, yet no-one has been able to make something better that gains any real traction among the major distros.

      Poettering brushes off serious security problems, many people seem convinced that the entire concept is flawed and makes Linux unstable and their lives as admins a nightmare... Many claim the old bunch of shell scripts system was better. Yet... There is basically zero competition. Almost every distro uses it.

      • by jythie ( 914043 ) on Saturday May 25, 2019 @10:03PM (#58655490)
        Well yes, SystemD makes life easier for distribution and package maintainers. SystemD's audience isn't users and admins, it is distros, so it makes sense that all the major distros have moved over to a system with their needs in mind.
      • by Shane_Optima ( 4414539 ) on Saturday May 25, 2019 @10:29PM (#58655606) Journal
        Because it systemd was built to solve the problems that distro builders face. Or at least that's my understanding. It's the old "wait a second, who is really my customer?" principle in action.

        Also, Red Hat has a lot of money compared to its competitors. Ubuntu/Canonical might have been a Red Hat competitor once upon a time but they didn't... focus their energies very well.

        Also, graybeards refuse to acknowledge the importance of use cases that don't matter to them or see the flaws in the system they're so accustomed to, so progress on alternatives (e.g. OpenRC whatever) remains niche.
      • by Wolfrider ( 856 )

        --The guy that runs Distrowatch has been active for the last year or so patching up SYSVinit code. I supported him on Patreon for a while:

        https://www.patreon.com/sysvin... [patreon.com]

    • 275 lines per day really isn't that much for such a large project and so many committers. On a well caffeinated day, I can produce 275 lines of useful code in
      Doing a security audit on it? Yes, I can inspect 275 lines in 2 minutes if they're simple and 10 if they're the most complex I've ever seen. 2-10 minutes per day is not that hard, especially with the help of automated tools.

      To be clear, I am not defending systemd. I don't have a dog in the fight. However, I can't believe a professional would
      • LOL... Guy, I really hope I'll never be forced to use any security critical code 'reviewed' by you...
      • However, I can't believe a professional would complain about this many lines of code.

        They're not complaining about the general speed of Linux development. They're complaining about a core operating system component that keeps growing. That's not supposed to happen. Core components are supposed to stabilise and level out, and then development moves to building non-core things on top of it. A core that keeps growing is not really a core.

        Mind you, I'm just explaining what the complaint is, I don't have enough information to make the call if it's valid or not. If those 275 lines are being ad

    • by rl117 ( 110595 )

      No, I can't. I do actually work in such an environment, and there are specialised embedded RTOSes for this purpose. No systemd, and no Linux. They are simple, compact, and secure.

  • Sigh. (Score:5, Insightful)

    by ledow ( 319597 ) on Saturday May 25, 2019 @02:53PM (#58653864) Homepage

    And yet it's entire purpose was to replace a handful of readable shell script files that you could fit in a handful of Kb.

    • Mission creep, it's everywhere. By next year it should have a window manager and a media player

    • It keeps on eating [youtube.com].
    • Re:Sigh. (Score:5, Interesting)

      by LarryRiedel ( 141315 ) on Saturday May 25, 2019 @03:57PM (#58654192)
      I think its purpose was to drive a wedge between applications and the kernel so eventually Linux would be unusable without its mediation. And so far it seems to have succeeded.
      • Re:Sigh. (Score:4, Insightful)

        by thegarbz ( 1787294 ) on Saturday May 25, 2019 @08:19PM (#58655174)

        I think its purpose was to drive a wedge between applications and the kernel

        No it's purpose was to replace the many existing wedges that already existed. SystemD has done nothing at all to separate applications and a kernel which wasn't already implemented (existing networking tools, existing event based hardware management, existing login systems). The most you can argue is that it created an abstraction through a universal implementation of cgroups, but that was the end goal of the kernel team not of systemd itself.

        Linux is perfectly usable without it. Just go and maintain the hundreds of wedges that already existed.

        • Re:Sigh. (Score:4, Interesting)

          by HiThere ( 15173 ) <charleshixsn@@@earthlink...net> on Saturday May 25, 2019 @09:53PM (#58655462)

          I did for years. Since systemD showed up, I've pretty much given up. Now if there's a problem, reinstall is the simple solution. And it works as often as anything else. Just make sure you have current backups.

          • Systemd massively simplified the amount of configuration and re-installing your system would just result in the same code base. At some point you should just bite the bullet and read the manual. It'll be faster.

        • by ledow ( 319597 )

          cgroups could have (and probably have) been used by any init script once they were in the kernel.

          Utilising new kernel functionality is not a reason for a *different* init system. Just a small upgrade to the one you already have.

          • Indeed they could have. Because that's exactly what we want on our system, every application running and managed in a different way without any consistency at all. /sarcasm.

            In all seriousness though the Gnome team did their best to at least make systems which used GDM behave in a sane way once some init script handed the keys to a service that is actually capable of of managing the system rather than scattershotting it to life with bash scripts. But you know what they did? They said "Oh god thankyou, finall

    • Re: (Score:2, Interesting)

      Can anyone explain why its a caching DNS server now?

  • by blind biker ( 1066130 ) on Saturday May 25, 2019 @03:18PM (#58654010) Journal

    Such a monstrously complex system is fantastic for RedHat's services business. It'll have problems all the time, and customers will need help from the preeminent experts on systemD - RedHat engineers.

    I am glad there's at least one a very popular distro with systemD disabled: MX Linux.

    • by quantaman ( 517394 ) on Saturday May 25, 2019 @06:50PM (#58654860)

      Such a monstrously complex system is fantastic for RedHat's services business. It'll have problems all the time, and customers will need help from the preeminent experts on systemD - RedHat engineers.

      I am glad there's at least one a very popular distro with systemD disabled: MX Linux.

      Yes Red Hat sell support, but they don't want to be firefighters. They want to help you set up the system and then be available if something goes wrong without anything actually ever going wrong.

      I've done support on mission critical products before. No one is going to cancel their RHEL support contract for their mission critical system because it's never broken, people will cancel their support contract if it keeps breaking and they no longer trust Red Hat to keep it running.

      Now Red Hat is probably responsible for some of the extra complexity in SystemD but again, I don't think that's malicious. The last thing you want it your customer to think your system is so complex that they're reliant on you. You want to be an insurance policy, not a babysitter.

      The reason SystemD is complex is because it has a lot more capabilities, and the reason it has more capabilities is because Red Hat's high paying customers keep demanding more capabilities, so Red Hat delivered.

      Disclaimer: I did an internship with Red Hat years ago.

  • I'm waiting for them to add a hypervisor, distributed parallel filesystem, machine learning module, and Vulkan 3D renderer.

  • by oldgraybeard ( 2939809 ) on Saturday May 25, 2019 @03:50PM (#58654162)
    we get emacsd and linuxd

    Just my 2 cents ;)
  • by Suren Enfiajyan ( 4600031 ) on Saturday May 25, 2019 @04:03PM (#58654222)
    More LOC means more complexity which means more potential bugs and thus more money can be earned from support.
  • It's gotten 2415 times as bloated since then!

  • ... before the Linux kernel is merely a task running under systemd? Or even necessary if, as one poster has already suggested, the OS has moved into the browser? Of course, that's BS. But then so is an init system that requires 1M+ (and growing) lines of code.

  • Is this the system that is suppose to start services ?

    It has 1.2 millions of code ? God.

    Talk about mistakes.
  • Lennart Poettering continues being the most prolific contributor to systemd with more than 32% of the commits so far this year.

    That's a lot of activity for a guy who's default response is: NOTABUG WONTFIX

  • by phantomfive ( 622387 ) on Saturday May 25, 2019 @05:07PM (#58654456) Journal
    In case anyone wants to know where the size is:

    $ du -h . | grep M
    2.2M ./src/shared
    1.3M ./src/network
    1.9M ./src/libsystemd
    1.4M ./src/resolve
    2.3M ./src/basic
    2.9M ./src/core
    1.1M ./src/journal
    1.5M ./src/test
    22M ./src

    And ./src/udev doesn't quite make it in that list, weighing in at 808k.
  • Does great Linux emulation too. Now only if it didn't come with a crappy startup daemon

  • Thanks to systemd, Linux systems look more and more like the complexity mess that Windows has been for quite some time. At some point, this complexity will be unsustainable, and Linux will implode.
  • Not using systemd does not automatically mean use sysvinit.
    I just wanted to point that out.

    So many arguments for systemd seem to be "it does X which syvinit does not" or just "sysvinit is soooo old". So what?

    There are many init systems. Use the one that fits you best. It might not be systemd OR sysvinit.

    Personally, I like openrc. It has features sysvinit lacks such as parallel startup and service dependencies. It does everything systemd does that I myself would actually use. So I will stick with openrc as l

  • Why does systemctl require .service at the end of a service name. What the hell else would one be starting or stopping via the init system besides a service? Or, actually a daemon because this is not Mickeysoft Windows.

    Yes, I know it sounds like a petty thing to complain about but excess verbosity seems to be a plague that infects all things computer related. Just look at pretty much every xml protocol and if you don't see what I mean there you are probably part of the problem.

    It might not be terribly impo

  • ...its still a piece of crap.
    Just adding code can't make a fundamentally shitty idea better.

"Protozoa are small, and bacteria are small, but viruses are smaller than the both put together."

Working...