Announcement

Collapse
No announcement yet.

Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Originally posted by RahulSundaram View Post
    I wouldn't call that toleration. It is a basic requirement. In any open source community, no individual contributor should be allowed to dictate what others maintain. This is especially true of integration projects where there are no defaults.
    We were not talking about me. We were talking about every other Gentoo developer. If every other Gentoo developer did not think like me, you can be certain systemd would not be permitted in the tree. Myself and many others are willing to tolerate systemd because we do not believe in trying to force our choices on users. If we did, we would keep systemd out of the tree in favor of our own home grown replacement for sysvrc, which is where the actual criticisms belong. That would be much like how Redhat keeps alternative choices out of its distributions.

    Anyway, you might want to take a look at your own company with regard to individual contributors being allowed to dictate what others maintain. If you cannot find examples of that happening, you are blind. It happens at every company, including Redhat.
    Last edited by ryao; 04-03-2014, 07:05 PM.

    Comment


    • Originally posted by Ericg View Post
      Almost, if not EVERY, non systemd-core component of systemd can be turned off at compile time with a --disable-$XYZ flag except MAYBE the journal. I think a barebones systemd is like 2mb's. Thats always why all of us who support systemd have wanted to strangle everyone who shouts "Systemd is bloated! Systemd isn't modular!" because the reality is you can customize and cut down systemd to WHATEVER you need it to be. Want everything? Bam. Done. Got an embedded system that you just want systemd, journal and networkd? Bam. done.
      If your system has only 4MB of storage, 2MB is half of it. The kernel itself is typically 2-3MB on such systems. If you add systemd, your OS will no longer fit on the system. Also, it is not clear if the 2MB figure is just for systemd, or for systemd and all shared object dependencies.

      Anyway, you cannot do more than sysvinit, which is simply /sbin/init and /etc/inittab, while being competitive on space. It is not worth even trying.

      Comment


      • Originally posted by ryao View Post
        We were not talking about me. We were talking about every other Gentoo developer. If every other Gentoo developer did not think like me, you can be certain systemd would not be permitted in the tree.
        Regardless of who you were talking about, the fundamental principle still applies. As a project you can choose to exclude anything you want but as a individual noone should be allowed to dictate what other people do.

        PS: I don't work for Red Hat and even if it happens there (I noticed you didn't single out any examples), that is no excuse for any open source project to behave as if letting other maintainers do what they want to do is "toleration". If it doesn't affect you, it isn't tolerating anything. Period.

        Comment


        • Originally posted by ryao View Post
          If your system has only 4MB of storage, 2MB is half of it. The kernel itself is typically 2-3MB on such systems. If you add systemd, your OS will no longer fit on the system.
          Why would anyone install a full-blown init system on such minimal hardware? Systemd is designed for the needs of anything ranging from server clusters to mobile and IVI, but I doubt you'd be running anything complex enough on that 4MB system that couldn't be handled with a minimal, custom-made init. In other words your argument is purely academic.

          Comment


          • Originally posted by ryao View Post
            If your system has only 4MB of storage, 2MB is half of it. The kernel itself is typically 2-3MB on such systems. If you add systemd, your OS will no longer fit on the system. Also, it is not clear if the 2MB figure is just for systemd, or for systemd and all shared object dependencies.

            Anyway, you cannot do more than sysvinit, which is simply /sbin/init and /etc/inittab, while being competitive on space. It is not worth even trying.
            An old project won't be upgrading to systemd, so thats out of the question. So, just as I brought up in a previous thread, lets assume a new project thats currently under development needs to place a bit of flash storage on itself. I have a router sitting next to me that has 256Mb's of RAM and 32mb's of flash storage. So let's call 32mb a bare minimum for what you can find in newly manufactured flash. Frankly I'm shocked its not higher.

            If you are SO strapped for storage or size constraints that you are working off of 32mb's of storage... you probably won't be using systemd. Frankly at that size you have to be cutting and slashing as much of the kernel as you can. You are into highly specialized territory, and if you are -IN- that territory then you probably can roll your own init system, OR your entire process tree is like 3 processes top that you can just track yourself.

            I have a thumb drive sitting next to me about the size of my thumb nail...its got 4gigs of storage available to it. If you're limiting yourself to 32mb's of storage its either because you KNOW what you're doing, or you're a masochist.

            But lets assume you're right Ryao, just for sake of argument. Let's give you 4Mb's of storage space and lets be kind and say the kernel fits into 2mb's of that.. what the HELL are you doing with 2mb's? You can't write a secure web server in 2mb's of space, so thats out. 2mb's of storage you're into the "I'm coding in pure C and I need to start cherry-picking functions of the libraries I want to use, including them all in one header file with 1 C source file to handle everything and I need to make sure its written in as few lines as humanly possible." because 90% of the third party libraries on our systems that actually DO anything useful are prob more than 1mb in size, which even if the ONE you needed WAS 1mb in size that only gives you 1mb to play around with to do whatever it is you need to do. Talk about single purpose hardware, and I don't say that with affection.

            Also for the record, systemd depends upon the kernel and dbus and I think thats it. And as soon as kdbus lands it will be down to just "the kernel".

            Comment


            • Originally posted by Ericg View Post
              An old project won't be upgrading to systemd, so thats out of the question. So, just as I brought up in a previous thread, lets assume a new project thats currently under development needs to place a bit of flash storage on itself. I have a router sitting next to me that has 256Mb's of RAM and 32mb's of flash storage. So let's call 32mb a bare minimum for what you can find in newly manufactured flash. Frankly I'm shocked its not higher.

              If you are SO strapped for storage or size constraints that you are working off of 32mb's of storage... you probably won't be using systemd. Frankly at that size you have to be cutting and slashing as much of the kernel as you can. You are into highly specialized territory, and if you are -IN- that territory then you probably can roll your own init system, OR your entire process tree is like 3 processes top that you can just track yourself.

              I have a thumb drive sitting next to me about the size of my thumb nail...its got 4gigs of storage available to it. If you're limiting yourself to 32mb's of storage its either because you KNOW what you're doing, or you're a masochist.

              But lets assume you're right Ryao, just for sake of argument. Let's give you 4Mb's of storage space and lets be kind and say the kernel fits into 2mb's of that.. what the HELL are you doing with 2mb's? You can't write a secure web server in 2mb's of space, so thats out. 2mb's of storage you're into the "I'm coding in pure C and I need to start cherry-picking functions of the libraries I want to use, including them all in one header file with 1 C source file to handle everything and I need to make sure its written in as few lines as humanly possible." because 90% of the third party libraries on our systems that actually DO anything useful are prob more than 1mb in size, which even if the ONE you needed WAS 1mb in size that only gives you 1mb to play around with to do whatever it is you need to do. Talk about single purpose hardware, and I don't say that with affection.

              Also for the record, systemd depends upon the kernel and dbus and I think thats it. And as soon as kdbus lands it will be down to just "the kernel".
              He was just trolling. I checked my router and it has 64 MB of flash. So.. machines that have 4 MB of storage are obsolete crap. Don't use them. You can't fit anything there, barely even the kernel fits. So buy bigger flash, it's cheap nowadays. Systemd fits nicely in 64 MB.

              Comment


              • Originally posted by RahulSundaram View Post
                Regardless of who you were talking about, the fundamental principle still applies. As a project you can choose to exclude anything you want but as a individual noone should be allowed to dictate what other people do.
                You are the one suggesting that there are such people. The insinuation that I had anything to do with something like this is an ad hominem attack. While I might consider certain software to be junk, I do not believe in restricting choices. That is how Gentoo as a whole works.

                Originally posted by RahulSundaram View Post
                PS: I don't work for Red Hat and even if it happens there (I noticed you didn't single out any examples), that is no excuse for any open source project to behave as if letting other maintainers do what they want to do is "toleration". If it doesn't affect you, it isn't tolerating anything. Period.
                Your title suggests that you do work for Redhat and I am trying to end this discussion with a few quick responses to address attacks on my character. Giving you more things on which to nitpick would be counterproductive to that end. As for toleration, the project as a whole collectively tolerates packages many of us dislike provided they have maintainers. Stop trying to make it about me, as it certainly is not. If we as a group were intolerant of choices few of us liked, we would have had a vote on removing many packages a long time ago.

                Comment


                • Originally posted by Ericg View Post
                  An old project won't be upgrading to systemd, so thats out of the question. So, just as I brought up in a previous thread, lets assume a new project thats currently under development needs to place a bit of flash storage on itself. I have a router sitting next to me that has 256Mb's of RAM and 32mb's of flash storage. So let's call 32mb a bare minimum for what you can find in newly manufactured flash. Frankly I'm shocked its not higher.

                  If you are SO strapped for storage or size constraints that you are working off of 32mb's of storage... you probably won't be using systemd. Frankly at that size you have to be cutting and slashing as much of the kernel as you can. You are into highly specialized territory, and if you are -IN- that territory then you probably can roll your own init system, OR your entire process tree is like 3 processes top that you can just track yourself.

                  I have a thumb drive sitting next to me about the size of my thumb nail...its got 4gigs of storage available to it. If you're limiting yourself to 32mb's of storage its either because you KNOW what you're doing, or you're a masochist.

                  But lets assume you're right Ryao, just for sake of argument. Let's give you 4Mb's of storage space and lets be kind and say the kernel fits into 2mb's of that.. what the HELL are you doing with 2mb's? You can't write a secure web server in 2mb's of space, so thats out. 2mb's of storage you're into the "I'm coding in pure C and I need to start cherry-picking functions of the libraries I want to use, including them all in one header file with 1 C source file to handle everything and I need to make sure its written in as few lines as humanly possible." because 90% of the third party libraries on our systems that actually DO anything useful are prob more than 1mb in size, which even if the ONE you needed WAS 1mb in size that only gives you 1mb to play around with to do whatever it is you need to do. Talk about single purpose hardware, and I don't say that with affection.

                  Also for the record, systemd depends upon the kernel and dbus and I think thats it. And as soon as kdbus lands it will be down to just "the kernel".
                  You should look at OpenWRT. it runs on many devices shipping today that have small amounts of flash by today's standards. Anyway, there is always someone with a bigger/smaller system. It is a bad idea to put a number on what constitutes small when they are plenty examples of smaller things. The original UNIX lived on a 1.5MB hard drive and if you write tight code, there is plenty you can fit on that. For instance, you can fit an entire kernel, desktop environment and web browser on a floppy. It was done in 1999:

                  http://www.youtube.com/watch?v=K_VlI6IBEJ0
                  Last edited by ryao; 04-03-2014, 10:25 PM.

                  Comment


                  • Originally posted by ryao View Post
                    You are the one suggesting that there are such people. The insinuation that I had anything to do with something like this is an ad hominem attack. While I might consider certain software to be junk, I do not believe in restricting choices. That is how Gentoo as a whole works .
                    There was zero adhominems in what I said. When I say "you", it is just a language form that can be substituted with "anyone involved" and not personally directed at you. I thought this was obvious in context. In any case, I don't care what you personally do. What I am objecting is use of the word "tolerating" in this discussion and making it clear to that letting maintainers maintain what they wish to work on is not consideration anything other than basic requirement and expected behavior in any open source project.

                    "Giving you more things on which to nitpick would be counterproductive to that end."

                    What is really counter-productive is deflecting the issue by naming a company uninvolved in the point I was making without bothering to specify any real examples. Even if said company indulged in such practises, my point still stands. The Phoronix title set by the forum is wrong (and Yes, I have complained to Micheal about it and he hasn't bothered to do anything about it yet).

                    Comment


                    • Originally posted by ryao View Post
                      You should look at OpenWRT. it runs on many devices shipping today that have small amounts of flash by today's standards. Anyway, there is always someone with a bigger/smaller system. It is a bad idea to put a number on what constitutes small when they are plenty examples of smaller things. The original UNIX lived on a 1.5MB hard drive and if you write tight code, there is plenty you can fit on that. For instance, you can fit an entire kernel, desktop environment and web browser on a floppy. It was done in 1999:

                      http://www.youtube.com/watch?v=K_VlI6IBEJ0
                      Well, it is 2014 now and that example doesn't apply. If you are targeted such a micro niche, you are better off running busybox init or something custom. Hardly worth debating really.

                      Comment

                      Working...
                      X