Slashdot Mirror


Is Some Software Meant to be Secret?

Tim writes "Tim Bray and Microsoft's Joe Marini are doing a back-and forth on Open Source. Tim serves (open everything), Joe returns (secret-source is good business) and Tim volleys (the closed-source niche is shrinking)."

10 of 504 comments (clear)

  1. Text of joemarini.com link by Anonymous Coward · · Score: 5, Informative

    Some Things are Meant to be Secret

    I was reading an interesting post by Tim Bray today about how he thinks everything should be open.

    Now, most of my experience is in the packaged software world and not that of IT departments in big companies, so my view is somewhat different than his. I can understand why a customer company that is basing its business of a piece of software might want the right to look inside it to see what is going on, but that doesn't necessarily mean that it's a great idea across the rest of the software industry.

    Here's why - when you develop a piece of packaged software, sometimes you only have a short amount of time to establish your product as a viable entity in the marketplace. If your competitors could just look inside your source code to see how you accomplished a certain feature that their product doesn't provide, then your fledgling product would be neutralized almost instantly.

    When I worked at Quark, we had a heated rivalry with Aldus Corp (now Adobe) and their product, PageMaker. Quark introduced several key desktop publishing features in version 3.0 that essentially cemented our lead over PageMaker in the DTP market. Had Aldus been able to get a hold of our source code, Quark's trade secrets, along with the enormous amount of money we had invested in R&D to develop QuarkXPress 3 would have been for naught. Aldus would simply have copied our algorithms and updated their product to match ours.

    I can go on and on with these examples - Dreamweaver, for example, had a fantastic feature whereby it would preserve the source code formatting that an HTML developer typed in. FrontPage didn't have it. GoLive didn't have it. PageMill didn't have it. NetObjects Fusion didn't have it. We spent a lot of time and money developing that feature, and it ended up being a key competitive advantage for us.

    Now imagine that you're the one competing with somebody like Macromedia, or Adobe, or IBM. You have a great idea for a product, you've done your market research, and you want to make a go of it. Now imagine telling potential investors and customers that yes, because your product is Open Source, anybody can read the code and see how you solved a particularly prickly problem that up until now nobody else has tackled well. How much investment capital do you think you'll get? How many customers?

    Tim says that "the days when the recipe for success included wrapping the engineering in a veil of secrecy, those days are gone". I don't agree - I think that this is one area where the very idea of Open Source just falls flat on its face. Tim, how do you protect your competitive advantage when your competitors can just look at your source code and cherry-pick the best ideas? Not every company in the world can just become a services company and compete on price. There's a reason why it's called "intellectual property."

  2. Re:Judging from the IIS error page in the second l by Anonymous Coward · · Score: 2, Informative

    It's also PHP.

  3. Re:ahhh by Eric+Giguere · · Score: 5, Informative

    I can't say I'm too interested in the debate -- nothing new here, folks -- but I do like the reference Tim Bray made to Joel Spolsky's essay Things You Should Never Do, Part 1 about the dangers of rewriting code from scratch instead of trying to work with the existing code base. It's an old piece, but I hadn't come across it yet, and I like what he says. Go give it a read, then enjoy your weekend.

    Eric
    See Wiliam Shatner on my cereal box (soon to be updated)
  4. Re:"Code is hard to read" is NOT a good answer by erikharrison · · Score: 2, Informative
    Good code is not hard to read

    The main point was code is harder to write than read. That doesn't change based on quality level.

    And nothing is like six thousand lines of code. Or, say 3 million (MS Office).

  5. Google Cache/Mirror by swiftstream · · Score: 2, Informative
    --
    Be a PATRIOT--because the only thing we have to fear is the lack thereof.
  6. Re:Open/Closed by Camel+Pilot · · Score: 4, Informative

    sorry I was terse and not clear.

    McBride wanted to somehow classify the GPL as anti-copyright since there is no payment exchange or financial gain by the holders. Of course a monkey could see thru McBides twisted logic.

    Linus adroitly pointed out that the term 'financial gain' that is used in us copyright includes receipt, or expectation of receipt, of anything of value, including the receipt of other copyrighted works. this means that some coders prefer to be compensated by getting access to a larger body of code in exchange for contributing their code.

  7. Re:Oher areas by DuckofDeath87 · · Score: 2, Informative

    Well, it already has, to a small degree.
    In music, there is the Creative Commons.
    And, in books, there is WikiBooks.
    So, yes, it does seem to want to expand to other things.

  8. Re:Closed Source for External File Formats by eweu · · Score: 2, Informative

    Adobe's PDF format is one that has simply been reverse-engineered instead of replaced.

    The PDF Reference is available for all to see. No need to RE it.

    But this gives weight to your argument. Adobe has been remarkable successful with PDF simply by encouraging others to use it. They happen to sell the most full featured PDF creation tools, but others have been able to take advantage with still more success.

  9. You can't keep the competitor out by Skapare · · Score: 3, Informative

    Joe Marini said:

    Here's why - when you develop a piece of packaged software, sometimes you only have a short amount of time to establish your product as a viable entity in the marketplace. If your competitors could just look inside your source code to see how you accomplished a certain feature that their product doesn't provide, then your fledgling product would be neutralized almost instantly.

    If you're talking about a sophisticated and innovative algorithm, maybe this will be the case. But it can be reverse engineered quite easily by simply following the basic flow of the machine instructions and producing work-alike high level code. Of course you lose valuable comments ... maybe. Too often this rush-job commercial code doesn't even have such comments.

    I did reverse engineering of a competitor's product once and succeeded in easily reproducing their proprietary compression algorithm (I needed to decompress it to build an import module for their data files to allow customers who switched to our software to use their old data). A few months later, the company I worked for bought out that competitor. When their software team found out we had an import program for their data files, their first question was how we did the decompression. It turns out they had lost the original source code when they were porting it from the mainframe to the PC, and were trying to figure out how to change to a new data format instead of reverse engineering their own code.

    Now imagine that you're the one competing with somebody like Macromedia, or Adobe, or IBM. You have a great idea for a product, you've done your market research, and you want to make a go of it. Now imagine telling potential investors and customers that yes, because your product is Open Source, anybody can read the code and see how you solved a particularly prickly problem that up until now nobody else has tackled well. How much investment capital do you think you'll get? How many customers?

    Under the GPL, I can give it away for free, but my competitors still can't integrate my code into their code (unless they want to GPL their own code). They'd have to understand the solution in a clean room scenario, and re-implement it (something they can do with the binary, anyway). So it is not actually an instant handover to your competitor. Then my business model will be free code, and paid for technical support. In the mean time, my competitors are struggling to debug their re-implementation, and making only one time sales. I'll be taking in incremental revenues from support.

    Not every product is going to be able to benefit from this model. But more and more products will, and many do already. Some very specialized software will still be best kept closed source for now. But once it has been developed as open source, the days are numbered for the closed source version. Making the open source business model work depends on understanding that developmental thinking (e.g. intellectual property) is no longer the value commodity it once was. Just look at all the effort so many big software developers are making to get lower development costs by hiring people in lower cost of living countries. Thinking is cheap, and getting cheaper. Working for your customer or client is where the value is, and that's support.

    The intellectual advantage does work, only when your competitor is using the same business model and doesn't have that particular innovation in their product. But when you are comparing business models, between one time software sales with mediocre support, vs. free software and paid for support from a vendor that gets its revenue only if it does the support job right, we will be finding that the latter model has more business advantage to business customers, and this in turn means a better market for the free software paid support model.

    --
    now we need to go OSS in diesel cars