Announcement

Collapse
No announcement yet.

Haiku OS Working On A Systemd-Inspired Boot Daemon

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

  • #21
    Originally posted by ElectricPrism View Post


    If Lennard Poettering is a genius, then I say the standards for a genius have been substantially lowered.

    The fact remains that noone else managed to write something competitive against Poetterings implementations (pulseaudio systemd).

    So until someone gets his software to replace systemd and pulse in major distros Lennart wins and the haters can suck it.

    Comment


    • #22
      Originally posted by jacob View Post

      Of course there are also valid reasons to criticise systemd, just like any potential design. I don't think that anyone pretends that systemd is perfect. But I don't get the argument that it's bad because you are "forced" to run it - of course you are, just like you are "forced" to have the kernel and glibc. It's part of the basic OS infrastructure and I for one am glad for that. We can now have a more consistent OS. The problem with the UNIX so-called philosophy is that in many if not most cases, it's no philosophy at all, it's little more than a pile of quick & dirty kludges and contraptions that have never been designed to solve a well-specified problem. The traditional init is a case in point - there is no API to manage the services, no way to express dependencies (many admins solve them by putting "sleep" commands in startup scripts, now that's philosophy!), no way to tell the system to respond to events, no way for users to run their own services, and so forth and so forth.

      So does systemd violate the UNIX way? Thanks God, it does. Is it overengineered? I don't know, perhaps it is but at least, somebody is trying. It really comes back to the UNIX luddites' problem - SysV didn't have it so Linux must not be allowed to move on, or something like that.
      And I agree, I think that developing a project as an OS, instead of as a kernel is a much healthier approach overall, I think it was a mistake for Torvalds to build the Linux project as Just a Kernel (TM) instead of following what the BSDs do.

      Now that said you are being just as ridiculous as those who blindly push the "UNIX Philosophy" without understanding what it is, because you're trashing it without understanding what it is. The reality is that the UNIX Philosophy as a design philosophy is actually quite solid, but it doesn't apply how non-developers think it should, and developers don't even use the term "UNIX Philosophy" when talking about it. It doesn't help that large swaths of the software built around UNIX, like anything from GNU, XOrg, The Kernel, etc don't actually follow it at all, which creates a lot of confusion among non-developers.

      Comment


      • #23
        Originally posted by Master5000 View Post
        Linux is Windows Lite. I'll use this if you don't mind.
        I believe what you're looking for is ReactOS not Linux. Linux is a hobby OS patterned in part after MINIX for Linus Torvalds to play around with 386s that exploded into the popular open source project it is today.

        Comment


        • #24
          Originally posted by Luke_Wolf View Post
          And I agree, I think that developing a project as an OS, instead of as a kernel is a much healthier approach overall, I think it was a mistake for Torvalds to build the Linux project as Just a Kernel (TM) instead of following what the BSDs do.

          Now that said you are being just as ridiculous as those who blindly push the "UNIX Philosophy" without understanding what it is, because you're trashing it without understanding what it is. The reality is that the UNIX Philosophy as a design philosophy is actually quite solid, but it doesn't apply how non-developers think it should, and developers don't even use the term "UNIX Philosophy" when talking about it. It doesn't help that large swaths of the software built around UNIX, like anything from GNU, XOrg, The Kernel, etc don't actually follow it at all, which creates a lot of confusion among non-developers.
          I don't want to trash the *whole* UNIX philosophy. I also disagree with you that Torvalds should have followed the BSD approach - firstly, it was not his goal at all, and also Linux has become incredibly successful the way it was developed. Developing the whole OS, like BSDs do, also does not change the fact that there are many more things they get wrong that Linux, including the init system. Yes, there are aspects of the UNIX "philosophy" I really like - the everything-is-a-file approach, for example (which, incidentally, Linux follows to a greater extent than UNIX itself). That is a sound principle. There are others which are valid and sensible in a limited number of cases - for example, the "one program should do one thing" sounds nice when it's said and it works really well for shell commands, but not much more than that. Since 1969, we have moved to a point where we use our computers to do more than just mkdir and ls. Others are plain inane - the notion than the "correct" way to treat errors is to fail silently, for example. The fact remains that many things in UNIX have never been designed by anyone and don't follow any actual guiding principles, they have been hastily hacked together, left alone when they kinda worked in simple cases, and ex-post rationalised as being somehow good and worthy of being followed. Yes, BSD, I'm looking at you!

          Comment


          • #25
            Originally posted by Master5000 View Post
            Linux is Windows Lite. I'll use this if you don't mind.

            Uhm... yes.

            Comment


            • #26
              Originally posted by jacob View Post
              I don't want to trash the *whole* UNIX philosophy. I also disagree with you that Torvalds should have followed the BSD approach - firstly, it was not his goal at all, and also Linux has become incredibly successful the way it was developed.
              from the original announcement email
              Hello everybody out there using minix ?

              I?m doing a (free) operating system (just a hobby, won?t be big and
              professional like gnu) for 386(486) AT clones.
              Where in that was "Just a Kernel" as his goal? And while yes Linux has become successful, it has been hindered in many ways by the fact that it is not developed as an OS. Commercial software cannot for example say that "We support Linux version Foo" the way they can with the BSDs, and their respins, instead they have to say "We support Ubuntu version x.y, or we support Centos 7" which is also why steam has to carry around a runtime.

              Originally posted by jacob View Post
              Developing the whole OS, like BSDs do, also does not change the fact that there are many more things they get wrong that Linux, including the init system.
              It's funny that you mention the init system, because BSDInit is vastly superior to SysV style init, obviously a service manager like systemd, or launchd is better, but BSD didn't get this one wrong. It being slower paced in terms of development than Linux due to manpower simply meant that it took them longer to get to having a service manager, which they now have as of this month thanks to iXSystems.

              Originally posted by jacob View Post
              Yes, there are aspects of the UNIX "philosophy" I really like - the everything-is-a-file approach, for example (which, incidentally, Linux follows to a greater extent than UNIX itself). That is a sound principle.
              Linux does indeed follow this principle of the philosophy closer than most other UNIX and UNIX-like systems, however I'm going to have to disagree about it being better in all cases. I'm not a fan of knobs being files as opposed to sitting behind a command. If the knob is sitting behind a command it can at least tell me when I'm being a dumbass, whereas a file doesn't have that capability intrinsic to it, and so it'll fail silently or in a log.

              Originally posted by jacob View Post
              There are others which are valid and sensible in a limited number of cases - for example, the "one program should do one thing" sounds nice when it's said and it works really well for shell commands, but not much more than that. Since 1969, we have moved to a point where we use our computers to do more than just mkdir and ls.
              That is because you are not a software developer and don't know what it actually means. The principle behind this point is that you should create modular composable systems, which today is mostly done through OOP, with this particular part of the larger statement of the philosophy being called the Single Responsibility Principle. This isn't self evident to users because they don't see the guts of what's going on in larger systems.

              Originally posted by jacob View Post
              Others are plain inane - the notion than the "correct" way to treat errors is to fail silently, for example.
              Indeed.

              Originally posted by jacob View Post
              The fact remains that many things in UNIX have never been designed by anyone and don't follow any actual guiding principles, they have been hastily hacked together, left alone when they kinda worked in simple cases, and ex-post rationalised as being somehow good and worthy of being followed. Yes, BSD, I'm looking at you!
              While BSD has it's warts, Linux is far more guilty of this than they are, and takes it one step worse by layering stuff ontop of the shitty bits in order to make them less hellish. And when you're comparing warts BSD actually tends to have a lot less problems overall, Compare BSD Pluggable ABI system vs Unbreakable ABI, FreeBSD sound system vs ALSA, IPFW & pf vs IPtables, BSD network stack vs Linux network stack... etc...

              Now that said, you're right that there are a few cases where they hacked something together and and rationalized it as a good thing... namely the ports tree. As much as I love the idea it's a massive hack and nobody has implemented this right. That said between the work on pkgng, poudriere, and otherwise they may very well replumb and fix it.

              but...

              BSD's main problem is really that of manpower, but I'm expecting that to get better over the next few years as PC-BSD becomes more polished and linux-shim for KMS gets properly worked out.

              Comment


              • #27
                Originally posted by slacka View Post
                "Launchd progress kinda slowed down to 0 I miss being able to look for inspiration from other projects!" -Lennart Poettering

                All OS's inspire each other. Android and iOS are constantly borrowing from each other, even taking the ideas from OS's that never quite made it like WebOS.


                Speaking of launchd on other OS's, does anyone know the status of FreeBSD's port of launchd?

                https://github.com/freebsd/openlaunchd
                TrueOS Core Operating System Repo. Contribute to trueos/trueos development by creating an account on GitHub.


                It's being integrated in this tree. Jordan Hubbard himself is sponsoring its integration.

                Comment


                • #28
                  Originally posted by JX8p View Post

                  TrueOS Core Operating System Repo. Contribute to trueos/trueos development by creating an account on GitHub.

                  It's being integrated in this tree. Jordan Hubbard himself is sponsoring its integration.
                  Woaw, so FreeBSD has now turned 180 degrees and admitted that shell base init systems are bullshit and that systemd-like inits are the future. Too bad for them cause launchd is out of date crap and is not even in BSD control. BSDs are still backward in their thinking and coding. Linux is still owns their asses.

                  And yes Jordan Hubbard, the Mac OSX user. I like him cause doesn't want FreeBSD to be a whole usable OS but instead unusable spare parts where proprietary corps like Apple and M$ can steal from (not that all BSDs are already like that).

                  Slides: http://www.slideshare.net/iXsystems/jordan-hubbard-free-bsd-the-next-10-yearsiXsystems is a leading provider of Open-Source server and storage soluti...


                  You can see he's still working for Apple as a mole in the BSD "community". I like that cause he'll unwittingly deliver FreeBSD's ass to Linux for a good and final wooping.

                  Comment


                  • #29
                    It appears the enthusiasm for the current incarnation of systemd itself is not to be inferred from this article: I'd update the news item myself if I were a phoronix ed, but, hey, not my biz.

                    https://twitter.com/haikuOS/status/622547591520223232 A lot of people seem to think the one-word mention of systemd in Axel's post as meaning Haiku has adopted systemd's insanity. It hasn't.

                    Since some time, I am working on a replacement of our current shell script based boot process to something more flexible, a similar solution to Apple’s launchd, and Linux’s systemd. While there is still a lot to do, it’s now feature …

                    by waddlesplash - 2015-07-18 22:54
                    Linux's systemd here is considered somewhat of a model, not a thing to copy wholesale. IMO most of systemd's problems is that it is trying to take over the entire Linux OS, which launch_daemon most certainly does not -- it's just a launch system.

                    Comment


                    • #30
                      Originally posted by Luke_Wolf View Post
                      Commercial software cannot for example say that "We support Linux version Foo" the way they can with the BSDs, and their respins, instead they have to say "We support Ubuntu version x.y, or we support Centos 7" which is also why steam has to carry around a runtime.
                      Yet, all issues could be sorted out. But BSDs have much more nasty issue - they trying to find silver bullet to solve all prob's once and forever. While it sounds cool in theory, it never works this way in practice. Actually BSDs are pain in the rear to use as production system. Even ancient companies like Apache and Yahoo acknowledge it and mostly migrated to Linux. It is rather common to see Ubuntu on new apache hosts put into service, etc. Because it is order of magnitude less of administrative hassle instead of some abstract buzzwords BSD dudes prefer. Very measurable gain.

                      The result? Steam supports Linux and does not gives it "fsck" about BSDs! Not to mention half of BSDs are unable to use Nvidia cards beyound VGA graphics. Somehow, BSDs lack nouveau and Nvidia only supports FreeBSD. All other BSDs are put out of equation when it comes to gaming. And even FBSD sucks a lot in this regard: for AMD and Intel they use some ancient Linux code which is about 3 years old or so. Something like Linux 3.8 or 3.10 IIRC. Needless to say it gives crappy performance, lot of bugs, no power management for AMD cards, recent hardware would not work at all, etc. There is no Catalyst for BSDs, etc.

                      There is only one use case of BSD as gaming platform: Sony PS4. So, Sony have got drivers for brand new AMD APUs. And of course Sony never bothered to inter-operate with upstream. So FreeBSD can't use this APU while Sony runs AAA games. That's how BSD licensing works. It happened countless times before and happens again and again. BSD devs never learn from their mistakes. BSD licensing cool for ideal world where everyone is kind and responsible. But BSD licensing fails miserably in real world with greedy corporations put into equation.

                      It's funny that you mention the init system, because BSDInit is vastly superior to SysV style init, obviously a service manager like systemd, or launchd is better, but BSD didn't get this one wrong. It being slower paced in terms of development than Linux due to manpower simply meant that it took them longer to get to having a service manager,
                      And except anything else, BSDs never gave a fsck to compatibility with Linux unless being force-raped to do so, like Nvidia did when they demanded to either make memory management interface matching Linux or GTFO. Or when BSD zealots mumbled here and there all this DRM and KMS stuff is "not needed" ... just to find they got out of equatoin and Linux devs just put them out of equation. Linux devs had a wish for cool and featured backend - so DRM/KMS saga has started. It took a while, but it improved graphic stack a lot and it gives a lot of room to go beyond VGA-era shit, being able to cope with modern graphic workloads one expects from computers these days.

                      [quote]which they now have as of this month thanks to iXSystems.[/qoute]
                      BSDs are also tend to be used by shady (half-)proprietary companies like this. Which plays a bad joke on them all the time. Greedy corporate nuts are trying to outrun competitors. So they never share improvenents... unless Linux steps in, beats all BSDs to the hell and everyone starts laughing on dinosaurs trying to sell features everyone in sane mind got for free and with source code rather than some shady and unsupportable blob under EULA.

                      Linux does indeed follow this principle of the philosophy closer than most other UNIX and UNIX-like systems,
                      Linux (as kernel) follows rather simple philosophy: they do it in ways it works the best. If theory collides with practice on this way, practice wins. This makes Linux fun to use. Linux kernel proven me many times I can expect the very best from it. There are some downsides - it is complicated and not like if it's internal architecture is very sound in some places. But it only gives pain some few devs and only sometimes and overall it proven to be much better balance.

                      If we take a look on GNU/Linux, GNU explicitly states "GNU is Not Unix" in recursive way. Have a nice stack overflow .

                      If we take a look on distros, major differnce is that people behind Linux got very clear idea one size does not fits all. So nobody would give me abstract "base system" crap and other long standing idiocy. Decent distros are also created impressive package management tooling, turning nasty administrative things into rather simple operation. Linux scales much better. From SD-card sized device to huger supercomputers in TOP-500. BSDs are much less fun to scale (so they both hard to find in SD-card sized devices and in TOP-500 supercomputers).

                      users because they don't see the guts of what's going on in larger systems.
                      That's why some things were automated and user do not really have to deal with hard parts. Package manager takes care of software installation and updating. Installer takes care of system install. Sure, one can install things like LFS, but it's not mandatory thing to do. You can just grab ubuntu and be ready to rock-n-roll in about 5 to 15 minutes. Those who want more control, can use Debian. Or someone likes enterprise way of doing things. So they can try RHEL, or SLES. Or CentOS and OpenSUSE if they think they're cool enough and can do it without commercial support. Oldschoolsers can try slackware, Gentoo and Arch would do for kamikazes trying bleeding edge, as well as Fedora. OpenWRT would fit that small router under your desk with 4Mb Flash storage and mere 32Mb RAM, yet providing great web interface and features beating many enterprise devices like multiple WANs at your fingertips. BSDs on other hand are inclined on fitting same size on everybody. Hey, I really do not want to try to put full coreutils stuff to my router, nor I want compact busybox tools on more featured systems like my desktop or servers. One size does not fits all. Linux can scale. BSDs ... are much worse in this regard.

                      Compare BSD Pluggable ABI system vs Unbreakable ABI, FreeBSD sound system vs ALSA, IPFW & pf vs IPtables, BSD network stack vs Linux network stack... etc...
                      I did a bit and...
                      - I figured out only PulseAudio can actually deal with complex audio setups (several sound cards, multiple output options like speakers vs headphones, per-app volume levels, etc) in way it stays usable for user without resorting to hardcore system hacking and so on.
                      - In Linux I can use ipset, dealing with LARGE sets of rules (or to be exact, lists of IPs, etc) without killing performance of everything. Now, can you show me how you'll do match against list of, say, 1500 IPs in your ipfw without totally killing firewall performance to the hell?
                      - IPTables can have it's own set of rules for each container I boot, as long as I request new network namespace. Same goes for network intefaces which can be isolated to particular container if I want to. Can you have independent sets of rules in different jails at this point? When I last seen BSDs it has been nowhere close to this point.
                      - BSD network stack tends to be way slower than Linux one. This is especially true for high-speed custom applications. Recently one guy has managed to capture over 10 000 000 (TEN MILLIONS) packets from network into usermode program, using quite average server and not using any special high-perf drivers and so on (notice that routing is different story compared to handing out packet to user-mode program, passing packets to usermode programs is more expensive due to user to kernel mode boundary). I wish you luck to beat this achievement :P

                      That said between the work on pkgng, poudriere, and otherwise they may very well replumb and fix it.
                      There is only one little catch. All this happened after everyone who needed decent package management and sane administrative practices gone Linux and ditched BSDs. So what? Now even FBSD got pkg-ng ... look, Debian and Ununtu got over 40 000 packages. Who would do it for BSDs? Those few zealots who yelled recently that package managers not needed and they're perfectly fine with ports. This means that while pkg-ng does not really looks bad from technical point of view, it doomed to stay third-rate and underpowered solution due to lack of maintainers. What is the point of superb package management if there is no packages to manage? I'm not in mood to wait 10 years BSDs would catch up - I would rather use Linux here and now. Needless to say, those using Linux would package stuff for system they use. Not some foreign crap.
                      but...

                      BSD's main problem is really that of manpower,
                      BSDs main problem is crappy project management and targeting insane and synthetic use cases which never happen in real world. This haven't improved in last 20 years or so. Funny enough, many BSD zealots would rather reboot to Windows or Mac OS to deal with real world tasks, proving once more their system useless in real world.

                      And lack of manpower just consequence of other issues. Look,
                      - BSDs had license which is more compelling for greedy corporate nuts. And it's only their stupidity, greed and lack of far sight what turned it against both them and BSDs. Unfortunately, these human properties can't be disregarded in real world, so GPL is clear winner here: it takes care of these problem in way even greedy nuts can understand and forcing them to either comply or GTFO. This has converted bunch of eParasites into strong dev force. Good riddance!
                      - BSDs are here for about 15 years before Linus released his very first version. They had each and every chance to be on this place but crappy project management and stupid licensing put them into oblivion.
                      - BSDs had strange notion of how system shoud look like. They always trying to make silver bullets. It results in synthetic system which performs poorly in real world and causes numerous headaches for no reason. Basically, BSD devs never cared about real world problems and tasks, expect when being paid by commercial corps (who then close improvements and almost never contribute back to upstream due to inherent greed)

                      Linus Torvalds came as some fresh air and shown these academic nuts how to create projects meant for real world. That's why people are using it. And once they're in, they're interested in imprioving it, obviously.

                      Comment

                      Working...
                      X