back to article MongoDB quits Solaris, wants to work on an OS people actually use

MongoDB has killed off its Solaris development efforts. The company's director of platform engineering Andrew Morrow calls the decision “bittersweet,” but says “lack of adoption among our user base” made the decision easy and necessary. “Of our commercial users, we knew of only a handful who had ever been running on Solaris, …

  1. This post has been deleted by its author

  2. Anonymous Coward
    Anonymous Coward

    Cross platform

    If you're writing good quality cross-platform code anyway, then just how hard is it, really, to keep Solaris? The low-level stuff has already been written, surely. And fixing the bugs which the Solaris compiler reveals will only help improve the quality.

    1. Anonymous Coward
      Anonymous Coward

      Re: Cross platform

      Yes, I write perfect code. It's cross-platform too! Testing? What's that? Why do I need to keep dedicated machines for each platform for testing? Daft!

      1. Anonymous Coward
        Anonymous Coward

        Re: Cross platform

        Dedicated machines? 1990 called...

        1. Throatwarbler Mangrove Silver badge
          FAIL

          Re: Cross platform

          "Dedicated machines"

          Right, let me just fire up SPARC Solaris on my desktop PC in a VM . . .

          1. Anonymous Coward
            Anonymous Coward

            Re: Cross platform

            Where did the article say SPARC? Solaris has ran on AMD64 for a LONG time.

            1. Anonymous Coward
              Anonymous Coward

              Re: Cross platform

              Nobody in their right mind actually runs Solaris for anything vaguely important on anything other than SPARC!

              1. HCV

                Re: Cross platform

                original MongoDB post lists multiple Solaris distros, none of which run on SPARC

                Argle bargle, Solaris is SPARC only, no one uses it on x86!

                Nobody in their right mind actually runs Solaris for anything vaguely important on anything other than SPARC!

                I can tell you with great assurance that many companies on Wall Street, in retail, and in government, just to name a few markets, ran Solaris on their x86 systems for their very important applications. One of the US' largest supermarket chains ran their entire business on Solaris x86 at one point.

                ...whether many companies still do is a more interesting question, since Oracle has worked for the last 7 years to make it difficult and expensive to get Solaris for non-Oracle boxes.

                1. JEDIDIAH
                  Linux

                  Re: Cross platform

                  Early versions of x86 Solaris were a dog with limited support. Later when it got better, it had been displaced by Linux already.

                  Been there. Did that.

                  I can't see any serious corporate user going with anything that wasn't officially supported by Sun or Oracle. That means an official build of the OS on Sun/Oracle hardware with a support contract.

                  Anyone willing to compromise on those points would be just as likely to run Debian.

                2. Anonymous Coward
                  Anonymous Coward

                  Re: Cross platform

                  I guess one of the big original selling points of Solaris x86 was that it would run SCO OpenServer binaries. While in theory Linux could, it was usually a big headache and prettty fragile back then. On Solaris it would pretty much just work, or at least that’s what I was told.

            2. JEDIDIAH
              Linux

              Re: Cross platform

              Proper testing needs to be done on the target architecture. That means SPARC boxes for testing. It's not a great burden though.

              Cross platform QA is GREAT for finding bugs in your base code. It doesn't matter if the Unix variant in question is half dead. A greater mix of QA scenarios help finds bugs you might not trigger otherwise.

              This is why money fixated corporations do cross platform testing.

              1. Throatwarbler Mangrove Silver badge
                FAIL

                Re: Cross platform

                "This is why money fixated corporations do cross platform testing."

                Oh wait, you're serious? Let me laugh even harder . . .

          2. Anonymous Coward
            Anonymous Coward

            Re: Cross platform

            If you're running something called "MongoDB", the odds are pretty high you're not running it on anything but x86.

    2. eldakka

      Re: Cross platform

      https://engineering.mongodb.com/post/farewell-solaris

      Additionally, we found that the cost to continue to support Solaris was very high, and that it was increasingly becoming an obstacle to developer productivity. Among the difficulties we experienced:

      The ecosystem is fragmented: You say you want to run on “Solaris”. OK, fine, but which one? Illumos? OpenSolaris? OpenIndiana? SmartOS? Oracle Solaris? OmniOS? Do we release for one of those? If so, which one? All? How do versions relate across them? What is the level of binary compatibility? Which versions do we need to support, on which variants? How do we certify that we support all of them? Linux suffers (or even benefits) from a similar profusion of flavors, but we have a significant population of users on each of the major different flavors, so it makes sense to explicitly support them all. Not so for the numerous Solaris variants.

      Our development tools work poorly on Solaris: Clang doesn’t support Solaris at all, as far as we can tell. Golang doesn’t consider it a first-class platform. GDB seems unable to handle the simplest of tasks when confronted with threads on Solaris. GCC appears to not fully support important C++11 features like the thread_local keyword, due to missing support in the Solaris C library, at least on the versions we used. Obviously, all of those could be fixed if there were a pressing commercial upside to doing so, but we don’t see that to be the case.

      Lack of developer familiarity: While several of our senior developers know their way around Solaris well, our junior devs have never touched it. Investing in teaching them is of questionable value. Sometimes, though we try hard to scrub them out, we find that some tests are flaky. Sometimes a failure exhibits on Solaris, but the issue isn’t specific to that platform. Should we be investing the time of our most seasoned engineers to track these down to prove that they aren’t Solaris specific?

      Operational difficulties: Most of our CI testing is done in AWS. On multiple occasions, our Solaris images have simply stopped working, and repairing them took significant engineering work. The most recent outage was particularly troublesome and time consuming. The engineering effort required to sustain the platform does not seem warranted.

      The future of Oracle Solaris, perhaps the one true Solaris if you had to pick one, is murky at best.

      While no single one of these issues seems sufficient on its own to argue for terminating support for Solaris, when combined with the observed lack of interest or use, it makes for a compelling case. We would rather invest our time and effort developing for the platforms that our users actually use. So, with some real sadness and fond memories, we have decided to say goodbye to Solaris.

      1. JEDIDIAH
        Linux

        Re: Cross platform

        This nonsense sounds like the same argument you would have with Linux.

        Of course Linux has a similar obvious answer. You target the variants that are most likely to be deployed on. Perhaps you could even take a cue from Linux and target the Solaris equivalent RHEL and SUSE.

        Pick something. Declare what that is.

        It's not rocket surgery.

  3. x 7

    So how significant is this?

    Who actually uses MongoDB?

    1. Anonymous Coward
      Anonymous Coward

      @ x 7

      Hipsters, sadly, that's who.

      https://www.youtube.com/watch?v=b2F-DItXtZs

    2. Chemical Bob
      Trollface

      "Who actually uses MongoDB?"

      Nobody running Solaris...

    3. ptribble

      Not terribly significant, of itself.

      There are people using MongoDB on Solaris/illumos; they're likely using their distro packages or building it themselves. And by the sounds of it, not paying a support contract. So those users become invisible.

      A bigger problem is the relentless "everyone's abandoning Solaris" message being spread, which will tend to be self-fulfilling.

  4. Anonymous Coward
    Pint

    Welcome to commercially driven open source...

    Now, I need to put up a disclaimer: I don't use Solaris anymore myself and quite frankly I also seriously doubt that I ever will because seriously really dislike Oracle and the stuff they're doing. Fact of the matter is that I was a hobbyist Solaris enthusiast and because of that even maintained a license because that was my way of showing support for Sun (you could easily use Solaris free of charge as well).

    Despite that I think this is still seriously bad news and why I've always been very skeptic about commercially driven open source projects. For simple reasons as shown here.... The drive is no longer to provide something good because you can. You no longer allow people to spend way too many of their evening hours to keep something going for the sole reason of "because we can" and because everyone enjoys it. Who cares if the audience is limited? It's all about the passion and the drive, of maintaining something good and doing it in a Unix-like fashion.

    Instead the drive is money. And if something stops being a profit and risks turning into a loss (even if it's all theory and only on paper) then good luck to you. Heck, it often gets even worse. Remember that Drupal developer who got shunned from the whole project for extremely vague and peculiar reasons? No? He did, and the reason was none other than: "We didn't expel him because he's into SM and such, but we also won't tell you or anyone else (not even him!) what the real reason was either, so there!".

    I've always wondered about the why part and honestly I can only conclude 1 simple reason: there's a huge company behind Drupal so if they see the slightest risk of something which could very possibly result in a loss then you can kiss your open source philosophies and any other moral motivations goodbye because greed will always prevail in the end.

    In my opinion this is not much different. The company behind all this deems that "time = money" (quite a blasphemy within the world of open source in my opinion) and therefor this is no longer profitable so adios amigos!

    Makes you wonder what'll be next. Oh, I know: FreeBSD, although quite popular in its own right, is probably hardly as popular as Linux is. I wonder how long it'll take them to axe that part of the project too. This may sound crazy now but with things like greed, commercial interests and such I wouldn't be surprised one bit if it actually happened.

    Now, don't get me wrong here. I'm not claiming that they're doing something massively wrong. In a way I can even understand the reasoning behind this decision. Most of all: this is still an open source project so if people care enough about it they can always try and maintain their own Solaris fork of the whole thing and try to backport future patches themselves.

    But that's not my point. The point is that in my opinion a true open source project hardly makes decisions such as these. It's not about "time = money" its about maintaining a cool project which can be run on anything that interests you or your userbase.

    And I don't like decisions such as these, because generally speaking company / commercial driven interests are usually completely different from that of the regular enthusiasts.

    NOT being driven by commerce and greed is what made open source projects great in the first place after all.

    Or did you honestly already forgot about the time when Linux was in the same place as Solaris is in now? In that time and age when the open source community was far better off without projects like this in the first place. Because it wasn't about time = money, it was about maintaining one awesome environment (Linux in this example) because people cared and simply could. They believed in it.

    THAT is what open source is to me. So yeah, I think it's a sad day indeed when an open source project gets driven by greed and all the nastiness that comes with it.

    1. Throatwarbler Mangrove Silver badge
      Linux

      Re: Welcome to commercially driven open source...

      So fork MongoDB and maintain the Solaris edition. Should be easy, if you have the passion for it.

    2. Anonymous Coward
      Anonymous Coward

      Re: Welcome to commercially driven open source...

      Greed and nastiness??

      Surely the same is true of non-commercial open source projects too: they will only support Solaris if there is interest from their user base and their developers.

      Autotools takes you some of the way - if used properly, POSIX code will build. But I wouldn't expect every project to set up CI for solaris, or to build binary releases for Solaris.

      Indeed, for *non-commercial* projects there is less incentive to do so. The *commercial* projects are the ones with customers who say "I must run this on AIX" or "I must run this on Solaris". The non-commercial ones are relying on the time of volunteers only.

    3. Criminny Rickets

      Re: Welcome to commercially driven open source...

      You make some good points. I agree that as long as it is being used by a few people, it is still worth developing. However, at what point is it no longer worth the time and effort to work on something. According to the article, money is not the reason they are dropping support, but because most of their clients do not use that platform, and the ones that do use Solaris, are migrating away. So if none of your clients are even using Solaris, why put the time and effort into developing software that is never going to be used?

    4. klaxhu

      Re: Welcome to commercially driven open source...

      Well, you clearly never ran a business then. MongoDB is a business with salaries that have to be paid and a business model they have to show, prove and deliver on otherwise the funds dry up. Try inserting a <it is cool to work at Mongo> instead of the paycheck one month, let's see how many dev's turn up to do the cool stuff. The Opensource part of it is another discussion!

      1. JEDIDIAH
        Linux

        Re: Welcome to commercially driven open source...

        I've never run a business but I have worked in cross platform development shops. This decision is technically short sighted on their part. The alleged "complexity" is very manageable. The benefits of testing on another (even obscure) platform is well worth the overhead.

    5. Anonymous Coward
      Mushroom

      Re: Welcome to commercially driven open source...

      > It's all about the passion

      Poor little Oracle. And Solaris. Open Source is so mean to them!

    6. Updraft102

      Re: Welcome to commercially driven open source...

      Everyone needs to make a living, and if a person can do that while working on an open-source project, that project can be reasonably certain he is going to be giving it significant effort; after all, it's his job. Otherwise, the contributor will have to spend his working hours on some other thing to keep the lights on and food on the table, and if any time is left over after that, time with the spouse and kids, errands, household chores, only then can he consider donating some of the time he has left to whatever open-source project he favors.

      Someone doing coding for a living can be given a job description that includes the drudge work of debugging. It's part of the nature of work that not everything you do is going to be the most fun thing you could have chosen if you were able to, of course. But if you are the person donating a slice of what little free time he has after everything else he has to do, it's because you want something out of it other than money. A hobby, in other words, which is usually something done for entertainment.

      Maybe he would be such a giving or dedicated person that he would volunteer his time to do un-fun things like debugging, but more likely he would want to do something fun like adding new features. When one's time is volunteered, no one has the authority to demand that a given contributor stop working on new features and work on bug reports... they're happy to have any contribution they can get, especially if the contribution is of high quality.

      As such, I tend to believe that commercial involvement in OSS is a good thing, but it's not without its limitations. Commercial entities can always withdraw support from a project if there is not enough money in it, but that can happen even with non-profits... consider how Mozilla is only months away from stripping the defining, central feature of Firefox that was its reason to be, which is to say its powerful XUL addons. The entire point of Firefox was to be a lean, quick browser that had a feature set limited to those things that nearly every user was going to use, with the more advanced features supplied by addons rather than being part of the base package as was the norm with the Suite (now Seamonkey).

      While the project itself is not being abandoned, for many of its users, it might as well be; I for one know I won't be using any version of Firefox that can't run my UI addons or provide the same functionality natively. I have about 21 addons active now (all marked 'legacy'); want to place any guesses as to whether the new FF will incorporate all of the UI changes/options my 21 addons provide? The odds are about the same as me winning the lottery (which I never play).

      Fortunately, FF is open-source, so projects like Pale Moon and Waterfox are possible. Whether they get enough traction to get addon devs to continue to update their Firefox-obsolete addons for the derivative browsers remains to be seen, but at least there's the possibility. If something like Windows started to take an insane turn (and if has, of course), our only choices are go along for the ride or get off the ship.

  5. Howard Hanek

    Roadmap?

    Metaphorically Oracles's roadmap resembles Houston's, perhaps just not as deep.

  6. David Halko
    Go

    Solaris 11.3 vs Solaris 12

    -- "Morrow says one of the difficulties MongoDB has encountered is figuring out Solaris' future, which he describes as “murky at best."

    Solaris 11.4 will roll significant Solaris 12 features

    -- That's a reference to Oracle's decision to bin Solaris 12 in favor of rolling updates to Solaris 11.3."

    CI development is hardly a "bin" - no suffering through side-grades!

    1. Anonymous Coward
      Anonymous Coward

      Re: Solaris 11.3 vs Solaris 12

      Solaris 11.4 will roll significant Solaris 12 features

      Later. Fewer. Incomplete. Solaris 11.4.

      It's a solid tag line, feel free to use it.

  7. Hans 1
    Happy

    Open Source

    Imagine those Itanium users when MS decided not to support iTanic in future Windows versions ... they were f*d, ok, bad example, they were already when they chose iTanic ... but still.

    Here, MongoDb says they will not support Solaris for new versions, anymore ... fine, guess what, if you want to use MongoDb on Solaris, you can hire a dev or two and fork that.

    With proprietary software you are f'd, with Open Source you can always fork it.

    1. Anonymous Coward
      Anonymous Coward

      Re: Open Source

      Or you can take the easy path and move your database to Linux, which is what it appears most people have chosen to do.

  8. Korev Silver badge
    Coat

    Sunsetting Solaris?

    El Reg you missed a Sun pun there....

  9. iOS6 user

    Mongo db is in OpenIndiana and has a portability issues even on Linux

    Just few facts:

    1) even on Linux MongoDB code has some portability issues and in Debian and Fedora is possible to find some patches necessary to build it on non-x86* HW. Ad the moment Fedora MongoDB has exclude to build on PPC, USparc and s390. In other words portability MongoDB is really not only Solaris issue (again: on Linux)

    2) MongoDB as a package is maintained in OpenIndiana and it is few minor issues but despite those small bits everything is OK on OI Solaris.

    3) MongoDB uses completely own/custom build framework and i does not uses GNU auto tools, cmake or meson. If some developers choose such custom framework it says many about MongoDB developers.

    Conclusion: I would be really holding my tongue about saying anything about Solaris per se in context of MongoDB until those known on Linux issues will be not sorted out first.

    1. JEDIDIAH
      Mushroom

      Re: Mongo db is in OpenIndiana and has a portability issues even on Linux

      So this is a MongoDB induced cluster-f*ck? Got it. I've worked with companies that had their own custom tools and didn't have this kind of problem. Those tools were more robust and didn't cause extra problems.

  10. Anonymous Coward
    Anonymous Coward

    who cares about solaris anymore??!! Oracle is canceling all sparc development and selling fujitsu boxes.

    1. HCV

      Oracle is canceling all sparc development and selling fujitsu boxes.

      Kewl!

      Sun people will remember OPL/APL. This sounds like the same idea, only with a brick wall replacing the light at the end of the tunnel.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like