The Software Stack

LAMP is one of my favourite things. GNU/Linux under Apache web server with MySQL database and PHP is a neat, flexible and powerful tool. PHP is not my favourite programming language because it is fast in development but slow in execution but it is popular. That might explain why Apache is a very popular web server on that other OS.

According to W3Techs, of the web servers of which they know the OS, 66% run Apache, 18% run M$’s IIS, and 10% run Nginx but 36% run that other OS.

What puzzles me is why anyone would use that other OS to run a web server. There’s no need at all technically. It must have to do with the local culture. Perhaps the licensing for one extra server on the web is already covered by a site agreement. Perhaps the management system in use is M$-only. Perhaps the bosses only know M$. Perhaps people don’t consider web-servery mission-critical. Perhaps…

It’s certainly easier to run a LAMP server. No purchasing required except for hardware. No need to allow audits by M$ and “partners”. No need for so many re-re-reboots. No need to accept malware as a normal part of IT. No need to re-install during the life of the server. Less downtime. Better throughput because the OS is not working for M$. Easier to install. No EULA to “accept”. No authentication code to record for posterity. No licensing fee. Simpler accounting.

On the desktop, the situation is the same. All kinds of people are running FLOSS apps but they have that other OS underneath for unknown reasons. Many people cannot even tell you what OS they run on their PCs. They just run what came with the PC. On many occasions I have had people use GNU/Linux without them knowing. The applications work as expected. The windows work as expected. The mouse and keyboard work as expected. There’s just no need for that other OS for most people with most uses of IT/PCs.

All kinds of people and organizations have switched from that other OS to GNU/Linux with few real problems and many advantages. They just got on with their lives with better IT.

I recommend Debian GNU/Linux. It works for you.

About Robert Pogson

I am a retired teacher in Canada. I taught in the subject areas where I have worked for almost forty years: maths, physics, chemistry and computers. I love hunting, fishing, picking berries and mushrooms, too.
This entry was posted in technology. Bookmark the permalink.

21 Responses to The Software Stack

  1. oiaohm wrote, “there are no fully functional implementations by anyone other than Microsoft”.

    Even M$ could not implement OOXML because that was logically impossible. OOXML was a strawman to interfere with adoption of ODF, nothing more. There certainly was no business case for adding a second standard for office documents. One could not imagine two different standards for train tracks on the same network. Why should one have two standards for office documents? The only answer was to muddy the waters and to make life difficult for people to use any competitive software. Fortunately much of the world has seen through the sham and have adopted ODF widely.

  2. oiaohm says:

    “Completely irrelevant. It’s still a standard.”

    Its not completely irrelevant. OOXML lacks independent implementations. ODF you have the Libreoffice/OpenOffice/StarOffice releations then Koffice relations and Abiword. That have all implemented ODF with full operational implementations. In fact all 3 by end of year ODF will be there default file format.

    So not only with OOXML the docs lacking there are no fully functional implementations by anyone other than Microsoft so its very much still a proprietary format. So just because ISO signed off OOXML has failed to get peer support may see its ISO standard status pulled as well.

    These two are right
    “See Compact Disk. See VHS.”
    Reason they were peer accepted and peer copies and made so become a standard. Betamax was not peer accepted so died as a proprietary format.

    Simple fact OOXML has not got threw all the hoops yet to be a long term standard. ODF has got past all the hoops to be a long term standard.

    “How it interpreted the then-ambiguous HTML standard should have been adopted as the reference implementation.”
    Really did you not read. The reference implementation all browsers were meant to refer to at the time is Amaya and still is. Only segments of HTML standard then was ambiguous. MS in ie6 failed to implement what was defined exactly in the reference implementation.

    So since MS ie6 did not match reference implementation there was no way for it to replace the reference.

    Also remember all parties must be able to submit alterations to the reference implementation. So reference implementations are for-bin from being closed source. So OOXML does not have a proper reference implementation either.

    Amaya is never meant to become a popular browser. It contains everything all the members of the standard body have agreed how something will be rendered this includes Microsoft when ie6 was released. If Microsoft wanted to change how something in the reference is done they are free to submit patches for peer review and approval by the standard body. yes the standard body of html.

    Just like due to IBM delegating the power is the reference implementation for the protocols Microsoft uses for File and Print sharing. Microsoft refused to work with Samba so Samba won anti-trust case against Microsoft in the EU courts since samba is the reference and Microsoft implementation was non conforming.

    w3c would have been in there rights to sue MS pants off over ie6. Standard bodies have legal force so do reference implementations of standards. Failure to work with those can cost you a few billion dollars per case as Microsoft found out with Samba.

    Basically Ted its against the law todo what MS did with IE6 and there file and printer sharing.

    Yes if someone wanted to get savage someone could take MS for Anti-trust over there current versions of MS Office for not conforming to the OOXML standard as well. Since you can prove in many places it does not conform to the peer agreed version of OOXML where the peers altered sections of the OOXML standard.

    Question is does Microsoft want to lose another few billion dollars or will they come into line with standard bodies. Yes standard bodies have legal force they can use against non conforming implementations.

    ISO basically is a body its approved OOXML altered from what MS submitted. MS fails todo those alterations. ISO can take MS to court and win. So yes MS might have written the first draft but once it becomes a ISO standard ISO is in the driving seat not Microsoft. The laws over anti-trust make this the case.

    MS made a promise that MS Office 2012 would be conforming to the version of OOXML ISO approved. So all versions of MS Office that exist today don’t make ISO approved OOXML. So the documents produced are not OOXML. Welcome to the reality Ted.

    OOXML might be a ISO standard this does not mean MS is making OOXML documents. The standard defines what is a OOXML document. Yes OOXML is a good example of MS not being in control at all and slowly walking in the direction of being taken to court again.

  3. I think Ted does not know the meaning of the word, “standard”.

    “3. That which is established as a rule or model by authority, custom, or general consent; criterion; test.
    [1913 Webster]”

    No one consented to using IE6’s view of the web. It failed many tests. Even M$ wants to have it killed to straighten out the mess M$ created. IE may have become the customary browser for a lot of businesses but they are sure paying for that mistake by having to rewrite all their web apps, sooner or later. M$ has no authourity to set standards for the world being a tiny corporation in a tiny part of Earth.

    Bill Gates (1998, IE4): “Microsoft has returned to the policy of demanding that computer makers include Internet Explorer in every copy of Windows.”

    Why would anyone “demand” people to use a standard if it were accepted, customary, useful, etc?

  4. Ted says:

    “In fact ie6 was not a de-facto stardard for html.”

    It was the de-facto standard BROWSER. How it interpreted the then-ambiguous HTML standard should have been adopted as the reference implementation.

    “They don’t ever.”

    Yes they do. See Compact Disk. See VHS. See OfficeOpenXML; the examples I helpfully provided.

    “Microsoft took many attempts to get OfficeOpenXML into ISO due to documentation not being up to scratch. There are still calls to remove it from ISO due to lack of quality in the documentation.”

    Completely irrelevant. It’s still a standard.

  5. oiaohm says:

    Ted sorry “de-facto standard” is key words and you have it wrong. In fact ie6 was not a de-facto stardard for html. IE6 was a de-tacto used breaching of html standard browser.

    “Single companies set standards all the time. Proprietary standards are still standards.”
    They don’t ever.

    Microsoft took many attempts to get OfficeOpenXML into ISO due to documentation not being up to scratch. There are still calls to remove it from ISO due to lack of quality in the documentation.

    Reason the documentation had to be approved by many parties. So Microsoft might write the docs they need world agreement to make it a standard without agreement is just a proprietary format. They also need world agreement to make it a reference.

    Let me point to something the official reference implementation of html browsers.

    Yes ted first release was July 1996 ie6 was release 2001. ie6 would not render how Amaya 2001 would so was in breach of standard of the day. So no question IE6 was a non conforming browser.

    So you are talking about displacing the official reference. Also what MS did on html with ie6 is the same as what they did on smb that by EU courts is breach of anti-trust. Why should we support law breaking actions.

  6. Ted says:

    “Nonsense, Ted. One company does not set a standard. The world does that.”

    Where was the “world” in setting the Compact Disk standard? Or VHS? Both undeniably standards, both set by companies.

    Single companies set standards all the time. Proprietary standards are still standards. In this case, IE6 was a de-facto standard, and should have been adopted as the reference implementation.

    OfficeOpenXML is an ISO standard, and that was set by one company.

  7. Nonsense, Ted. One company does not set a standard. The world does that.

  8. oiaohm says:

    Phenom FOSS replacements to exchange, share-point, and Dynamics are Zarafa, alfresco and sugercrm.

    Sorry the three FOSS installed on a system integrate with each other forming a very complete solution.

    Really Phenom the biggest maker of custom tailed applications is Oracle and they do cross platform.

    ISV building application for Windows might be using QT or JAVA so there code is cross platform so not dependant on Windows at all.

    Also you need to compare those custom solutions to Zarafa, alfresco and sugercrm. You will find a lot of custom solutions are crap in compare since they are simply lacking too many features.

    Alfresco killer feature is business process management as well as it liferay portal system. Liferay allows server for public to be isolated from server form internal business very simply. Including true internal staging.

    Zarafa killer feature is means to reach out and operate on Facebook and Google+ and other messaging systems like the business jabber server. Your exchange does not do this.

    Sugercrm killer features is means to raid other crm servers for data including dynamics and sap also transfer this information and collect information from many other solutions include Alfresco, CMS (Drupal, Joomla and WordPress) and telephone exchanges like asterisk. Yes Sugercrm can track all office talk to customers making customer handling simpler. Sugercrm is big brother when its fully expanded.

    Yes each of those three bring more tricks to the party. Yes the integration tree of the FOSS solution covers everything once you know what parts to assemble.

  9. Phenom says:

    Pogson, my mistake with 2% does not change anything, and is no support for any of your statements.

  10. Ted says:

    Your usual preference for the single source that agrees with you, Mr. Pogson. And it’s already widely established that W3Schools browser and OS stats are skewed due to the makeup of their audience.

    Multiple sources diagree with your “88%”


    IE (all versions) hit 90% in Q4 2001 (which lines up quite nicely after the release of XP), reached 94% by next quarter, peaked mid 2003 with 95%, and only dropped below 90% in Q3 2005. Three and a bit years where IE owned the browser market. If Microsoft hadn’t rested on their laurels, they’d probably still have that share – they let Mozilla steal a march on them.

    And Phenom is absolutely correct; IE was the standard. How IE did things should have been adopted for the reference implementation, especially with the CSS box model, which IMHO, IE got right, and all the others got wrong.

  11. There are many other kinds of applications than Windows-only.

    IE6 never had 90% share of browsers. IE generic browsers peaked at 88% share in 2003 when Mozilla and Opera and Netscape were a few percent each. Mozilla immediately begain to eat IE’s lunch. In 2003, IE6 was not the only game in town on M$’s OS either.

  12. Phenom says:

    Pogson, a comment to undig, please. Thanks in advance.

  13. Phenom says:

    No they are not.

    Yes, they are. When ISVs develop Windows applications, they target Windows.

    One does not only have ABI to rely upon, but also protocols.
    Which protocols have changed to the extent to cause binary incompatibility?

    Look at the mess IE6 caused and causes today.
    Actually, it was the other way around. IE6 blew competition out of the water, and introduced features that are now the core of the Web 2.0 mess – Ajax (named DHTML back then). IE6 was basically the only browser out there with more than 90% market penetration. IE6 was the standard.

    The problem was that MS underestimated the usability aspect of browsing, and let Mozilla and Opera get their act together and produce better browsers. As the same time W3C started define standards. That was particularly moronic. They had no implementation, no real browser of their own, but they would define standards. As a result, they created a mess which is still in place. No two browsers perform the same and follow the same rules.

    Funny, the most standard-compliant browser today is the preview version of IE 10.

  14. Phenom wrote, “Everything else is custom-tailored applications, which are built for the Windows Stack.”.

    No they are not.

    You are correct on one matter, “everything old stays behind”, including malware and vulnerabilities.

    One does not only have ABI to rely upon, but also protocols. Look at the mess IE6 caused and causes today.

  15. Phenom says:

    Interesting statements you make, Pogson. It would be nice if you could back them up with some real evidence or reliable source. Because, you know, nothing in computer theory supports your statements.

    …but not so good for the world of IT who have had to work around the obstacle of M$’s stack not working well with everything else in IT
    Not really. Everything else is custom-tailored applications, which are built for the Windows Stack.

    If you have done your research right, you would have known that APIs and interfaces is exactly what stays quite solid in the MS universe. What changes is that new technologies come in as evolution to others, but everything old stays behind. Existing COM/DCOM, or MSQ solutions continue to work, regardless that nowadays everything goes towards SOAP / XML messaging. Backward compatibility, you know.

    And the not that many cases where new security features prevent an older app from running, these usually mean that the app is particularly sloppy. Solution is… App V.

  16. Clarence Moon says:

    …M$’s stack not working well with everything else in IT

    It works well with Windows, Mr. Pogson. You underestimate the power therein. Nothing in this regard changes in Windows 8 either. Where did you get that idea?

  17. Phenom wrote, “All these things integrate nicely with each other, and that integration is the strongest asset of the stack.”

    That’s good for M$’s salesmen but not so good for the world of IT who have had to work around the obstacle of M$’s stack not working well with everything else in IT. Tight integration in basic building-blocks of IT creates vulnerabilities and fragility. A problem in one component of the stack should not affect the others but in M$’s ecosystem IT falls down like a house of cards. M$ has had that tunnel-vision since Day One because they lacked the imagination to envision a multi-user/multi-task universe. Integration is done once and used indefinitely. The ease or difficulty of integration is much less important than performance and security. Tightly integrating stuff now means great pain later on when a change is needed. M$ uses that to lock people and organizations in instead of freeing them to use their hardware to the best advantage.

    Look at “8” coming down the pipe. All the people that relied on M$’s stack are now having to redo everything because M$’s stack has changed. That’s not how utilities should work.

  18. Phenom says:

    Now, about the software stack.

    MS’s stack is much more than OS, web server, .NET, and MS SQL. It is much richer than LAMP. You also have: SharePoint, Exchange, and BizTalk to build your solution on top of.
    Further down the line, you also have systems like Office and Dynamics.

    All these things integrate nicely with each other, and that integration is the strongest asset of the stack.

  19. Certainly. Most interpreted languages have some weirdness due to the fact that there’s an extra level or two of abstraction that makes software pretty stupid. It saves programmers some work but makes the machine work harder just to do simple things. PHP would have a proper compiler if it were a proper language like Pascal.

    If you are going after the LAMP stack, take a look at M$’s stack. Everything interacting with everything is really, really bad in computer science but M$ does it that way to make themselves seem more important to the users.

  20. Phenom says:

    Pogs, my first comment got lost. Please undig it, before I continue with the software stack.

  21. Phenom says:

    You highly overestimate PHP. From a pure softwar engineering point of view, as a language PHP is rubbish. The mere fact that operator === has to exist to mitigate bugs like
    if (strpos(somestr, "find me") >= 0)...
    is enough to set the language into damnation.

    The core library of PHP, i.e. the living power behind every programming language, is a mess. It lacks proper organization in modules or namespaces, features get added without any strict naming or calling convention, poor features do not get deprecated on time. Further, functions return error codes, and do not throw exceptions, which negates the whole idea of the latter. The library is also purely procedural, taking any OO advantages away. Lack of Unicode support in 21st century must be considered a crime.

    There do exsist several quite good PHP frameworks, which repair some of the damage, but they cannot compensate it all.

    Next post I will continue with the software stack itself.

Leave a Reply