Open source, Microsoft models both wrong, Simonyi said

Open source, Microsoft models both wrong, Simonyi said

Summary: Turns out open source and Microsoft have more in common than thought: both have it wrong, one prominent software developer claimed at MIT’s Emerging Technologies conference.


Turns out open source and Microsoft have more in common than thought: both have it wrong, one prominent software developer claimed at MIT’s Emerging Technologies conference.

Charles Simonyi, the Hungarian-born developer of Microsoft Word who later became a pilot, cosmonaut and co-founder of Intentional Software, said modern software developers – whether they are programming under open source or proprietary models of development – focus too much on the end result and too little on refining the process of development.

Using scrambled eggs as a metaphor for a finished software application, Simonyi said the current crop of developers tinker too much, almost in "obsessive compulsive" fashion, on tweaking and rearranging applications to fix or improve them, instead of finetuning the process by which they are created.

Simonyi was on hand to discuss the problems of modern software development and described his company’s intentional software process and workbench technology during his keynote at the conference on Wednesday.

Following his keynote, one attendee asked if he saw any commonality between open source programming and Intentional's paradigm, which seeks to mix, integrate and properly embed the intentions of business domain experts with programmers in the coding process.

Simonyi said he did not, and added that he thought the two current paradigms have more in common with eachother than with his paradigm.

“I have great respect for the open source community and what they managed to accomplish but what I’m focusing on is the technical details about how to write a program from a technical sense. The social problems of writing a program are quite a lot different,” Simonyi said. “I am not an expert in [social aspects of programming] but I will say that open source people, like Microsoft, which is not open source, are all working on scrambled eggs.”

Topics: Open Source, Microsoft, Software

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • Apple's and Oranges

    Open source vs proprietary is less about how it is developed than it is about how it's distributed. Improvements in the process of development and testing can improve the quality of software regardless of how it's distributed, which means that Simonyi's points are a completely separate issue. The headline is thus misleading and sensationalist.
    John L. Ries
    • Business models do limit development and distribution models

      We have three components: development, distribution and funding. These are not entirely independent components given choices for one can put limits on the other.

      As an example, a funding model premised on making knowledge scarce and thus valued as something to be sold per-unit (Marginal-cost/royalty based business models like those promoted by Microsoft) can't harness the open public (and importantly, independent) peer review that is possible if zero-marginal-cost models are used.

      This is not to say that all zero-marginal-cost software will be independently peer reviewed, but that non-zero marginal cost software can't be. In the non-zero marginal cost environment, only licensees are able to review the software in any way at all.

      There is far more diversity of methods with those using FLOSS licensing, and thus I happen to believe that any broad statement that claims to speak to all FLOSS projects (and all FLOSS participants) will be nonsense.
    • Incorrect Observation

      Open source versus Proprietary is about how it is developed. Your understanding of the limitations of the current software development value chain are obvious from your statement. They are not separate issues and are indeed intertwined. Using the current software development value chain we are unable to develop applications of the scale, robustness that new hardware and operation across the Internet demands. If you cannot change the application development paradigm then I fail to see the relevance of development and testing. The human element associated with code cutting will be completely eliminated from application development. This is analogous to the elimination of craft skills from manufacturing and the use of automation and and robotics to increase production and product consistency.
  • Huh?

    "focus too much on the end result and too little on refining the process"

    Isn't the end result the objective?

    Without the objective why bother with the process?

    History seems to indicate that processes tend to get
    refined thru repetitive use rather then all at once.
  • And for the low price of $3K/day

    You can hire any number of consultants to come and give you a wonderful "Work smarter not harder" pep rally with all kinds of great buzzwords and pseudo advice, signifying nothing, but sounding great on the Total Quality Management Process, or is it TQM, or ...

    The entire premise is supposition on his part, he has no real facts on how MS develops. There are always process improvements to be made, but for all 15 (yes 15 buzzword work harder not smarter seminars) that I have seen or tried to avoid, they don't work.

    One company i worked for, I absolutely refused, told them I would quit if forced to go on the "7 habitats of homer's sexual people" After 3K people had taken the course, the company scrapped it as a complete waste of time.

    In the end, software gets developed by talented developers, each following the process that works for each of them. Some are visually oriented, some are holistic, some are bottom up, etc, but everyone develops the way their mind works, and nothing will change that.

    • You're spot on

      I'd really struggle developing in a 9-5 environment. Having worked from home for a number of years I'm lucky enough to be able to work when I'm "in the zone". This might mean "until 5am" or "from 5am", maybe a 4 hour stint or an 18 hour stint, and my weekends might be a Wednesday/Thursday. This freedom translates into "work time" always being when I'm at my most efficient.

      A slightly separate issue, but in terms of paradigms, has anyone looked into Erlang? Like with MVC, get your head around that (after plenty of WTF?) and any programming becomes clearer.