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)."

7 of 504 comments (clear)

  1. Is Some Software Meant to be Secret? by JohnGrahamCumming · · Score: 4, Interesting

    This discussion was interesting but it ends very unconvincingly. Tim argues that Quark shouldn't have been closed source without much justification but then says that it's ok for iChat and Aqua to be closed.

    One alternative is that a company that's developing code could decide to release their old code after some time has elapsed. For example, surely it wouldn't hurt Microsoft if they GPLed Windows 95. No one's going to create a competitive product from it, and if they removed their trademarks from it, they could free it and allow others to maintain it.

    Perhaps Quark could have waited until competitors caught up and then released the special code under the GPL. They could even use the GPL to undermine a competitor. e.g. once feature X is no longer their big advantage, release it, let an open source solution implement it and then they can bash their competitors by saying: we've got feature Y which no one else has and feature X, that's just a freebee, what you need is Y.

    John.

  2. Re:Nothing new by danheskett · · Score: 3, Interesting

    Some things can never be open sourced.

    I've written software before that is used by state government to determine who gets audited. If that software was public and open there wouldn't be a single audit flagged by anyone. Accountants could pre-pare returns in very cleverly different ways with different numbers here and there to craft an audit-proof return.

    There is no way for this application to be GPL'd with the source out in the open. The utility of the program is that no one knows the exact criteria.

    The code are the rules in this system. And if everyone knew every rule, there would be no enforcement possible!

  3. Re:Open/Closed by Apathetic1 · · Score: 4, Interesting

    I've written a few contracts. I'm not a professional developer by any means (I'm a student at the moment) but when I sell software, the code is included. I don't license under the GPL but I do stipulate that they can use it, modify it and distribute it internally as they see fit, making it clear that they can only expect free support if they are using an unmodified version. My customers were happy because they could make changes if they needed to and I was happy because I've still been well compensated.

    It's not Open Source in terms of OSI or FSF but it's better than giving them nothing but a black-box binary.

    --

    My username does not make me Apathetic. It's irony, get it?

  4. Re:XML Comparison by Jason+Earl · · Score: 3, Interesting

    Microsoft is pushing XML for two reasons. The first reasons is that pushing XML for Office documents means that they can force their customers to upgrade to the newest version. Right now Microsoft's biggest competitor in the office suite race isn't OpenOffice.org or Corel's PerfectOffice. Microsoft's biggest competitor in this space are old versions of their own MS Office suite. Microsoft is desperate to move folks that are currently using Office 97 or Office 2000 to their newest offering. The easiest way to force people to migrate to the newest version of MS Office is to monkey with the document format. If older versions of MS Office can't open the newer files, then the folks on the old versions have a problem. When Office 97 came out Microsoft simply changed the binary format. This made enough of Microsoft's big customers upset enough that Microsoft can't really pull that trick again. By mixing the document format change with something that some people actually want (easily integratable XML formats), Microsoft can introduce a new document format without upsetting their big customers.

    Microsoft's reasoning behind embracing XML as a format for their web services initiative is similar. Microsoft saw that Java was running away with the enterprise application market, and the execs at Microsoft knew that they had to do something to compete in this arena. One of the easiest ways to do this was to adopt some of the same standards that folks like IBM were adopting. Microsoft knew that unless their .NET servers could talk to Java application servers that they didn't have a chance, and so they opted for compatibility. For similar reasons Microsoft also opened up the specs for large portions of their .NET architecture (which is what spawned Mono). Microsoft knew that customers like standards, and since Microsoft was having to compete with Java for developers it realized that one of the cheapest ways to differentiate .NET from Java was to make it an open standard.

    Basically Microsoft is only open to the extent that being open is good for business. Microsoft knows from long experience that closed source and opaque formats generally produce higher profit margins, but in certain key areas Microsoft is so interested in enticing buyers that it is willing to sweeten the deal with a bit of open document formats and network protocols. Think of XML as Microsoft's 0% financing or two-for-one sale pricing and you won't be too far off the mark.

  5. Secrecy OK in short term, terrible in long term by davidwr · · Score: 3, Interesting

    Some projects, notably security-sensitive ones, are improved by being "below the radar."

    If I were selling an intrusion-detection device, I'd probably base it on a well-proven open-source program (probably a BSD- or similar license), but I'd audit every line and include my own "secret sauce" to make it beefier. Over time I'd return SOME of my tweaks to the community, but not all of them. As a matter of practice, I'd probably return anything that I introduced more than a year ago, more frequently if it was important that all vendors impliment the code immediately.

    Why not all of them? If an attacker had access to my source code, it makes the job much easier. By keeping at least one "trap" he doesn't know about, it makes it much harder for him to sneak in undetected.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  6. Re:On the contrary by zurab · · Score: 4, Interesting
    Apple has given a lot back to the OSS, but you misrepresent several points:

    Yes, Apple used to be very unfriendly to open source, but now it's just as easy to dual boot a Mac with Mac OS X and Linux as it is with a PC.

    And what, exactly, did they give out as open source with that? Yes, you can boot Linux on a Mac; you can also do it on a mainframe, Sparcstation, and everybody's microwave. i.e., at the most they are on par with everyone else - not hindering != being generous and giving, unless that's your definition of the word.

    Apple basically re-wrote KHTML for Safari, and then gave it all back to KDE.

    They didn't rewrite anything. Apple chose KHTML as their rendering engine for their new Safari web browser and contributed their fixes and modifications back. Yes, they could have chosen Gecko, or written another one from scratch, but they chose KHTML because they liked it better. KHTML is licensed under LGPL - anyone who receives the Safari binaries has a right to ask for the modified KHTML source. Apple is contributing their bug fixes and additions that they are required to disclose under LGPL.

    Presumably, they are being very nice and collaborative about it and I am not in any way trying to portray them in a bad light for the way they are doing this. But it's nowhere close to what you claim about rewriting the whole engine and giving back out of generosity.

    And don't even get me started on user interface. Apple might not have contributed to this directly, but have you ever stopped to think how much of Gnome and GTK+ is influenced by the Mac OS?

    I don't know how this relates to generosity - would they start suing GNOME developers or users if they were not acting "generous?" MS Windows has also influenced KDE and GNOME and various application GUIs - you could then argue that MS has been just as, or even more generous with the OSS in this regard.

    So, yes, Apple has contributed Darwin and Rendevouz when they didn't have to, they are being helpful with providing fixes in KHTML (which they would eventually have to), but you don't want to blow some things out of proportion.
  7. Re:What happens when it's not secret anymore? by Anonymous Coward · · Score: 5, Interesting

    Software patents are doomed for one simple reason.

    The equivalence of two Turing machines is undecidable. Turing proved this as one of the results of the halting problem. Since turing machines are equivalent to algorithms, which are equivalent to recursive functions, this is a statement in mathematics that as such should be sufficient to disallow software patents on the basis that software is a mathematical function.

    Where, then, can software patents stand? By definition, patents cover a method, hence an algorithm. Since there exists no way to determine if an algorithm infringes on a given patent, the patent office must backtrack and declare that algorithms need only be *similar to* a patented algorithm to infringe. But this is also undecidable for the same reason. An incredibly complex algorithm that produces the same output, given the same input, as a patented algorithm will be intractable to compare to the patent.

    The reason the patent office is spewing software patents is that it has no method for determining prior art, no method for determining functional equivalence, and no method for reasonably denying every software patent after the courts have incorrectly ruled in favor of them.

    Note that if you really wish to infringe on a software patent, it will always be relatively easy.

    Given a function F(x) that is patented, do the following.

    Create a function G(x,y) where y is meaningless, random, or in some way constructed from x such that applying G to x,y is equivalent to applying F to x. If necessary, encode x as y and apply H to y such that H(y) is equivalent to F(x). No patent court will be able to prove the equivalence. Should they rule that simply because two functions *produce similar (not exact, that is intractable) output, despite being vastly dissimilar*, they will have contradicted the very spirit and letter of patent law. The whole point was to issue patents for *specific* methods and devices, and encourage derivations thereof by other inventors. Such is progress. Owning the result of applying a mathematical function to all possible inputs is not progress, it is the darkest feudalism.