Layers - Port 25: The Open Source Community at Microsoft
< Back to Blogs
Layers by billhilf on April 26, 2007 06:56PM

When I started programming, it helped me a lot to think about the OSI model (Open Systems Interconnection Basic Reference Model).  On the right is a simple example of a five layer OSI model.  This type of model can help when coding or administering a system so you can effectively debug at the right ‘layer’.  I’ve found that I use this same logic now in all sorts of other areas, as it helps me parse out the details of an issue.  I also was reminded of this while reading one of Cory Doctorow’s new short stories, ‘When Sysadmins Ruled the Earth’ in ‘Overclocked’.

I’ve recently been looking at broadband statistics and, as usual, working on various business model issues.  So let me parlay the OSI framework concept into a topic around mixed models and the Web.  I often hear others try to simplify open source by comparing it to the Web or the Internet.  This description is often used disingenuously but it did get me thinking about the relationship and it’s a fun thought experiment so let’s break the totality of the Web down for a minute to prove the point – and let’s use an OSI-like model from the bottom up (including, but not limited to, protocols).

Physical, Data, and Network Layers

For the Internet this would be not only Ethernet standards but also electrical specifications, bridges, switches, host adapters, and signals operating over copper and fiber.   ATM, Frame Relay, IPv4/v6, IPSec, RIP, X.25, and other protocols also live at these layers.  But the Internet isn’t just protocols.  Companies such as AT&T, Quest and Level 3 have laid hundreds of thousands of miles of fiber-optic cable at the physical layer and infrastructure providers such as Foundry, Juniper Networks and Cisco build technologies that allow Internet exchange points and ISPs to interconnect.

Transport+Session, Presentation and Application Layers

Here we have the layers that move the data between end users and programs.  Fundamental to the Internet are TCP/IP of course (and UDP for you gamers).  TCP/IP is over 25 years old and being an open standard was critical for its dissemination and success.   Other important protocols and services at this layer are POP3, SMTP, SSH, HTTP, DNS, instant messaging protocols (and many more).  These protocols have been implemented in both open source and non-open source software, the key was having standard protocols for communication.  Also at this layer are other infrastructure-like providers such as Akamai, VitalStream, BitTorrent, Amazon’s S3 and other caching and content delivery networks.

It is important to note that at all of these layers above were other once-relevant technologies that have since faded or altogether expired.  When I worked for IBM I use to carry a Token ring adapter for my ThinkPad as many IBM offices didn’t have Ethernet, but only Token ring (this was true just four years ago).  Anyone use much Token ring today?  Or RUDP?  Or FDDI?  Or even telnet?  These each have diminished or disappeared, IMHO, because either 1) something better came along and/or 2) lack of relevance or value to consumers, users and/or businesses.  These are positive market forces: we want better, higher value, more relevant technologies and standards to replace lesser, lower value, irrelevant versions of the same. 

There is an important, non-OSI layer above all of this and that’s the content that is driving the growth of the Web and broadband (global number of broadband connections rose 33% last year).  My highly subjective distillation of ‘content’ is the YouTube, MySpaces, Yahoo, MSN, Google conglomeration of data that pumps across those layers above every day in all their data hungry glory.  Oh, and all that advertising too.  Certainly, there is a supply-demand correlation between the infrastructures at all levels of the stack and the content users are demanding (and supplying back).  These are also positive market forces.  Companies such as Level 3 (which was almost itself leveled in late-90s) are seeing growth in traffic on their fiber lines and also in their revenue – and they are buying more.  Comcast has signed up over 12 million homes for cable-based broadband connectivity.  Western Europe broadband penetration is growing faster than the U.S., and Japan now has 7.9 million fibre-to-the-home subscribers.   The home media and phone technologies will also be tapping into these bigger pipes, from the TiVo to iPhone to Windows Mobile devices.  And all sorts of amazing applications are sprouting up to take advantage of this broadband growth – for a test, think back to how many videos you watched online just three years ago compared to today.

So what is the relationship between all of this?  Certainly, without useful and relevant standards like TCP/IP and HTTP we wouldn’t be very far.  But we also wouldn’t have today’s Web without the physical fiber and backbone providers, IXPs/ISPs, and router manufacturers that provide the infrastructure.  And without software such as Apache, IIS, Firefox, Internet Explorer, etc., we wouldn’t be using the Internet like we do today.  And last but not least, without something to do on the Web, from reading news on Yahoo to auctions on eBay to Skype phone calls to videos on YouTube or social networking such as MySpace or doing business online, the Internet would have just been a neat technology experiment (or, minimally, as one of my favorite BBC columnists Bill Thompson points out, a tool for ‘computer scientists to find ways to share time on expensive mainframe computers’).  Open source, proprietary, infrastructure, protocols and standards… and lots of hard work and innovation.  It’s all in there – that’s the Web we have today.  Just like there is a mix of content that makes up the Web, mixed software, hardware, infrastructure, and a community are all necessary parts of the body Internet.

If someone needs proof that open source and commercial models/software/hardware/etc. can be and are compatible, just look at the Web.  Not only are they compatible, they have proven to be an amazing powerful combination.  The challenge for the OSS pundits is to dig deep, don’t be superficial.  I like how Stephen Walli challenges a lot of ‘stack’ thinking by explaining how the application is a network, and the network isn’t simple.  It’s a good analogy, and although the OSI layer-thinking helps draw some lines, the network model is more realistic – which is why I am using the Web as subject matter here. 

When I was a kid, my oldest brother used to sell me gravity insurance for $1 (for the record, I only bought one policy when I was six).  It was his lesson that I shouldn’t forget about reality.  He tried to sell me another policy again when I finished graduate school – likely worried I was getting lost in theoretical thinking.  In reality, there are powerful combinations of mixed models in software design/development, licensing, and businesses.  We can bury our heads in the sand, or in the clouds, and believe there are only two camps, two separate and foreign tribes – open source and commercial.  It might even make us feel better to believe this.  Or we can see that, in the real world, there is no spoon.

-Bill

 

Comments RSS
  1. posted at 12:04AM 05/01/2007
  2. einhverfr said:

    I have no doubt that commerical models of open source software work.  I have built my business on open source, so that is inherently commercial.

    However, there are commerical approaches I do not like.  Personally my business is a commercial manifestation of Free Software ideals.  Those businesses which seek to misuse open source applications in order to sell proprietary licenses (Oracle, via Sleepycat and Innobase) are a violation of the principles which sustain Free/Open Source software and I do not believe that such entities can compete against truly Free software.

    Note, Free does not equal noncommerical, and even Stallman has said this (as much as I disagree with Stallman about many things, I would agree with this).

    BTW, I have a vehement dislike of the OSI layering model.  I think it was designed to solve all the wrong problems (mostly convergeance of voice circuits and data packets) in the wrong ways.  Look at how much more complex OSI protocols (like H.323) are compared to their IETF counterparts (SIP).

    posted at 07:44PM 05/14/2007
  3. fluke said:

    Ahhh... the redefination game!  Anyone see an episode of Star Trek: The Next Generation called "Chain of Command"?  David Warner does a wonderful job of playing a Cardassian that must break Captain Picard by getting him to admit that he see five lights when there are really only four.

    .

    The OSI layer classically has seven layers.  Some people joke that there is also an 8th political layer, but usually it comes out to seven.  Bill presents it with Transport Layer and Session Layer merged into a single layer.  So... seven minus one makes... five?  Really!  Bill would like you to believe that 7-1 = 5 as stated: "On the right is a simple example of a five layer OSI model."

    .

    He then provides on the right (numbering added by me):

    .

    (6) Application Layer

    (5) Presentation Layer

    (4) Transport + Session Layer

    (3) Network Layer

    (2) Data Layer

    (1) Physical Layer

    .

    One of the nice things going for someone that wants to attack the the "Free" or "Open" communities is that there are so many definations to go by.  There is the FSF defination of Free which is sometimes also referred to as "Free as in Speech" or there is the "Free as in Beer" defination.  There is the OSI defination of "Open" or there is the Sun SCSL defination of "open."  There is even an IBM defination that if Lotus Notes runs on GNU/Linux then Lotus Notes is somehow an open solution as if open can just be inherited.  Microsoft is definately not the big evil in all of this but they are far from being a "friend" to the community by following the worst actions of the other community members.

    .

    So, where is Bill going with trying to break down the FOSS community into thinking 7 - 1 = 5?  Well, in reality, the pay-load (which can also be called "content") is the most important part of the OSI model which gets encapsulated at each layer as it is passed down.  The point of each layer it to further the goal of delivery of the content.  But in a 6 and 5 are equal world, things can be redefined where "content" is an important layer that the OSI authors forgot to include!  In a 6=5 world "OSS pundits" are challaged to not to be superficial because somehow just like the OSI model supposibly forgot about content, the FOSS community supposibly forgot about being compatible with commerical.

    .

    Back in reality, the FOSS community has always acknowledged that FOSS can come from commerical sources and the two are compatible.  It is Bill Hilf that is getting quoted by the Bangkok post claiming that if Linus has a job and the majority of linux kernel developers are payed by big businesses then Free Software is dead!  But 6 does not equal 5, Free Software is not dead, the importance of delivery of content is a given in the OSI model and the importance of commerical involvement with flag ship products is a given in the FOSS model (and the model is even designed to encourage as many groups to be contributors regardless of commerical status).

    .

    So why is it so important to get the community to accept 6=5 just to follow it up with something so obvious as FOSS being compatible with commerical models.  I think the 6=5 part is critical to the Bill H. write up because of what is *implied* instead of said.  What is implied is that FOSS needs compatiablity with commerical models and Microsoft is commerical thus FOSS needs compatiablity with Microsoft models.  And the example given is the web as being compatible and an amazing powerful combination.  After all, without the web the Internet would not be the open enviroment it is today and instead be "a tool for computer scientists to find ways to share time on expensive mainframe computers.'"

    .

    But we explore how Microsoft has contributed to this "amazing powerful combination" being an open enviroment, it appears that history shows and continues to demostrate that Microsoft would prefer that the full web experience be to a subset of the Internet community.  In the Microsoft NewsNet groups is the announcements of Microsoft's "commitment" to IE being a multi-platform application.  Since then it has gone from running on OSes from four different vendors (MS, Apple, Sun and HP) to running on OSes from a single vendor.  What does the word "commitment" mean to Microsoft?  Microsoft has also claimed commitment to W3C standards but a quick look at ACID2 on IE7 clearly demostrates otherwise.  And if WPF/E is to "light up the web" but will only be available in it's entirety for Windows and Mac, then the rest of desktop OSes will just have to live with a "dark" web?  And when WPF/E for Mac goes the way of MS-IE "commitment" then they will get a "dark" web as well.  Microsoft is looking to get customer lock-in for "commerical methods" they can retract at any time.  An "open" project that depends on a close retractable foundation can never be truely open regardless of how deep a FOSS pundits digs to seek compatiblity.  Hence, it is the commerical companies that need to seek models that provide solid foundations that FOSS can build on while still allowing it to be FOSS.  Anything short of that is just an expectation that the FOSS community will stand on a commerical rug with the hope that the company won't pull the rug out from under them.

    .

    Microsoft has turned it's back on "open," even to the extent of closing off what devices can access the web.  It is the only next generation video game console manufactor that has no web browser.  The Xbox Live experience still includes references to URLs but to get to them requires going to a different device.  A friend once got further information on a XBL advertizement with Opera on his Nintendo Wii so that he could get to it without leaving the TV.  It seemed so ironic that a single core PPC system could do something that a triple core PPC lacks.

    .

    Another irony is that Bill H. is reminded of `When Sysadmins Ruled the Earth' where the results of closed software resulting in systemic problems made it into the story: "'No, its Microsofts fault,' Felix said. 'Any time Im at work at 2AM, its either [Problem Exists Between Keyboard And Chair] or Microsloth.'"  A quick read of the author's website also shows that he does not shared Microsoft view that DRM is needed.  I doubt he would consider "Trusted Path" to be a "feature."

    .

    The most important thing to remember is that how MS defines "open" is clearly illustrated by what they claim to be "open."  An example of how FOSS and MS commerical can not be compatible is the "Open" Specification Promise.  The OSP clearly states that no work can deviate from the Microsoft stated specification or the OSP no longer applies.  This "commerical method" that the FOSS pundit is being asked to dig deep to accept locks the developer into a ridgid specification or face legal action.  This commerical method of being able to write works that are inflexiable to modification outside the specification covered under the OSP is what Microsoft names "open."  Only someone that can be convinced that 6=5 could consider OSP to either be open or compatible with FOSS.

    posted at 04:14PM 05/15/2007
  4. einhverfr said:

    Fluke, I think that Bill's point was that commercial models can be layered on licensing models.  Certainly he is right in this area.  And in fact, I would argue that respect for the proper layering is key to success (something dual-license vendors like MySQL would do well to heed).

    .

    And as I noted, OSI is a *horrible* architecture responsible for all manner of ills in networking potocols :-).  It is directly responsible for the fact that Netmeeting is so hard to pass through firewalls properly, for example.

    .

    My own view is that one must respect the layers if one is to be successful.  We should be looking not at the OSI layering system (designed for convergance between voice circuit and data packet networks) but rather the TCP/IP layering model.  In this model broad functions are delegated to the layers, which are kept to a minimum.

    .

    Companies like MySQL AB, IMO, by trying to misuse open source licenses in order to sell proprietary licenses are the equivalent of the ITU trying to misuse the way TCP/IP connections work (in H.323 for example) in order to sell OSI.

    posted at 12:50PM 05/16/2007
  5. USlacker said:

    Bill, many years ago my boss at the time didn't stop at 7 layers.  He added three layers that become more approriate the higher I moved in the organization.

    8) financial

    9) religious

    10) political

    good lesson, huh?

    It is interesting that the F/L/OSS debate really brings this so clearly into focus. Free as in finacially free; Libre in the political sense and, well, religious defines the whole conversation, huh?  Look at slashdot & digg for those examples...

    \\USlacker

    posted at 10:10PM 05/17/2007
Post a Comment
*
*