Slashdot Mirror


All Source Code Should Be Open, Revisited

cconnell writes "In my last article, I presented the idea that all commercial source code should be open. In other words, part of the delivery package for any software purchase should be a copy of the source files. If everyone saw software vendors' design and coding, the vendors might stop shipping us such lousy programs. The article generated a fair amount of controversy. My latest piece follows up on this idea and includes a few adjustments that respond to reader feedback."

48 of 509 comments (clear)

  1. what? by nogoodmonkey · · Score: 5, Insightful

    the cost to develop an app will always stand before cost of quality of the app. to think that every commercial app will be released as open source is very naive.

    1. Re:what? by nogoodmonkey · · Score: 4, Insightful

      You got me thinking. I could pop the hood on my car and figure out how it works, but I don't. I know people are curious as to how it works so they do, but a lot of us just take the invention for granted. Maybe if a company released source with their software, this same type of thing would happen. The "power users" would be able to see how the application works and in an end result they will know how to use the software better or be able to tweak it to be more suited for their needs. Then the regular users would just use the program, know that the source is there if they ever wanted it, but probably would never touch it.

      I would just be fearful that the wrong people would look at the source and use the knowledge against others. But, I guess people do put sugar in gas tanks, cut brake lines (or worse) in a car scenario. The idea isn't too much different. Thank you for giving this analogy.

    2. Re:what? by why-is-it · · Score: 3, Insightful

      When you buy a car, you pay for manufacturing it, but when you buy a piece of software, you pay for the design. What's the difference after all?

      Well, I can think of one big difference. I bought a car last year and it came with a warranty, and if the car turns out to be a total lemon, I can seek various remedies from the manufacturer to have it repaired, or if need be, replaced. Now, contrast that experience with your typical EULA - no warranty implied or otherwise, no guarantee of functionality, and the user absolves the manufacturer of any and all liability.

      Big difference...

      --
      *** Where are we going? And what's with this handbasket?
    3. Re:what? by Anonymous Coward · · Score: 1, Insightful

      Humm...
      I can # cp software_src /home/software_src2

      But I can't # cp my_car /home/another_car

    4. Re:what? by Anonymous Coward · · Score: 1, Insightful

      Oh? Do you have the engineering documents for your car? Do you have access to the engine design and all the components? I only seem to have the finished product. Btw, unless you have a car from the 1920's, I doubt you could pop the hood of your car and figure out how it worked. For one, modern cars already rely heavily on electronics. Do you have the source code for those?

    5. Re:what? by ryanvm · · Score: 3, Insightful

      I could pop the hood on my car and figure out how it works, but I don't. Maybe if a company released source with their software, this same type of thing would happen.

      Yeah, but intellectual property is VERY different from physical property.

      Theoretically, you could acheive a complete comprehension of your Maxima by disassembling it and studying all the pieces. Can you now go into business competing against Nissan? Not hardly.

      But with open source software, as soon as a company releases the source they are potentially in the position of defending against millions of competitors. Each one capable of matching them in distribution capacity and quality of product.

      In the open source world if you want to make money you must do it through services. Period.

  2. Nonsense by Textbook+Error · · Score: 5, Insightful

    In any large software system, the truly unique code probably accounts for about 1% of the source.

    Hmm, not on any large software system I've ever worked on... The important part isn't some magic 1% of the source, it's the fact that you got a group of people together for long enough to ship the thing.

    This negates one of his basic points, and doesn't really contribute much over his previous rant...

    --

    Nae bother
  3. Won't benefit the users... by SoCalChris · · Score: 5, Insightful

    If a company had to release their code for products they sold, it wouldn't do any good to the end user. The code would be way to complex for 99.9% of all users to understand. The only users who would really understand it are the programmers, and even then they would need to spend a LOT of time analyzing it (Assuming it is a decent size program) before they could even start to understand it.

    The only people who would benefit are the releasing company's rivals, who would have the time & money to sit down and reverse engineer the code, and then rerelease it as their own.

    Then again, maybe I'm missing the whole point of this and should RTFA.

    1. Re:Won't benefit the users... by ryants · · Score: 3, Insightful
      The code would be way to complex for 99.9% of all users to understand.
      This is where something like Consumer Reports comes in. 99.9% of all people don't understand the intricacies of car designs and dynamics, so we defer to experts such as those Consumer Reports hires.

      And so it could be in the software world. Sure, 99.9% don't understand the code, but there's an opportunity for you to start up "Software Reports" in the same vein as Consumer Reports to translate and inform.

      --

      Ryan T. Sammartino
      "Ancora imparo"

  4. Simply Answer by KarmaBitch · · Score: 5, Insightful

    No

    If I spend 400 hours writing code for something I want to sell, I'm not gonna give it away. I'm sorry

    I contribute to open source projects as well but, I have to eat. That's just the facts of life.

    1. Re:Simply Answer by SirSlud · · Score: 2, Insightful

      Yeah, before you know it, book authors might just let people read the words in their stories (even people who own photocopiers, gasp!) .. no wonder you cant make a living as an author!

      --
      "Old man yells at systemd"
    2. Re:Simply Answer by zerocool^ · · Score: 5, Insightful

      If I pay for something you spend 400 hours writing, I want the source to that as well. The source is part of the product.


      This is completely wrong, and I hope everyone realizes this.

      If you pay for a program, you pay for the binary. You now own a program that will perform to the specified dimensions. You do NOT own the source. Presumably, you would want the source to make modifications to it. Well, depending on the licence that the program is released with, too bad. You may not get to tinker with the source. Not everything is GPL'd, and for a good reason, folks.

      Like the other reply to this post, if you want to see the source, come talk to me, we'll sign a non-disclosure agreement, and then we can negotiate a price for a source licence.

      Think security software - say, your intranet system. You don't want your customers to have the source to that, because 1.) they probably wouldn't know what to do with it, 2.) it might fall into the wrong hands, or 3.) if they do manage to muck through it and change things, and somehow make their secure data hackable, there's a liability issue.

      There are only two other reasons you would want the source - to steal the program or to just sit and stare at it.

      With a binary, or a CD, or whatever, you can add copy protection. Source code is just text. Cut, Copy, Paste, Compile. Now your friend has a working copy of a program he didn't pay for.

      No, the grandparent is right. If someone spends months developing an application, they shouldn't have to release their source code. I can't think of a better way to shoot yourself in the foot.

      Think the airplane business. When you buy a 757, you don't get the blueprints for the wing. That's a trade secret.

      Note to new slashdot readers: This is typical thinking on slashdot. I want EVERYTHING for free. If it's not free, it's wrong. I want the source code to everything, because I feel that I could do a better job writing this software by mucking it up. What they mean is that they want to steal it if it isn't free. Don't fall into this trap. Some software should be closed source, and some people have to put food on the table.

      --
      sig?
    3. Re:Simply Answer by DaGrilling · · Score: 3, Insightful

      >Nobody is asking you to give away the source code for free, but to include it with the binary.

      So you think that Microsoft should include the source code to Windows if you pay them 100 bucks?

      >If I pay for something you spend 400 hours writing, I want the source to that as well.
      >The source is part of the product

      Well sure, if it's contract work and you pay for the 400 hours. But if you pay 30 bucks for the product you haven't payed to get 400 hours work, but the right to use it.

      What you suggest wouldn't feasible in the real world. But if you really want the sourcecode to the products you buy/use, use opensource or something. It's your own choice.

      My 0.02
      Robert

      --
      Technical University of Denmark
      Informatics and Mathematical Modelling Dept
      Computer Engineering & Technolo
    4. Re:Simply Answer by Anonymous Coward · · Score: 4, Insightful
      If you pay for a program, you pay for the binary.

      That's exactly the article's point. He's saying that should change.

      When you buy a 757, you don't get the blueprints for the wing.

      An airplane wing isn't copyrighted.

      This is typical thinking on slashdot. I want EVERYTHING for free.

      Who said anything about free? All the original article said is that if you pay $99 for some piece of software, you should get the source with the package. The source would still be protected by copyright just like the binaries, so you could look at it and modify it for your own use, but you couldn't distribute it.

      If anyone is getting something for free here, it's software companies. Copyright is a bargain, not an entitlement, and it should guarantee that the public can create derivative works when the copyright expires. In the case of software, that means the public should have access to the software in a form suitable for modification and study. Now you can argue for practical reasons that the source should be held until the copyright expires, but you can not justify letting it simply fall into oblivion.

    5. Re:Simply Answer by BHearsum · · Score: 3, Insightful

      You now own a program that will perform to the specified dimensions.

      Am I not allowed to modify my car? Or my computer case? Can I not add a light to my house just because it wasn't originally designed that way?

    6. Re:Simply Answer by LostCluster · · Score: 3, Insightful

      The problem is, if you were required to provide the source free with purchase of the binaires, the cost of the package will go up. Knowledge is worth money, so when you're forced to show people how you did everything you did, eventually some people who weren't able to competete with you before will learn how to do the same thing. You'd have to charge a higher price to get the same profit, because you'll get less sales.

      So, people who have no need or use for the source will end up having to pay more to get something they don't want. There's a turkey of an idea.

    7. Re:Simply Answer by Anonymous Coward · · Score: 2, Insightful

      The knowledge you describe is worth money today only because a technical quirk in the way software is constructed allows it to be artificially made scarce. Other types of copyright works essentially are their own source code. Take books for example. When I buy a book, I can study an author's writing style, word usage, characterization, whatever. I can even use this knowledge as inspiration for my own story. As long as I avoid directly copying the author's work, I'm fine as far as copyright law is concerned. All this is true today and books are doing just fine financially.

      Also keep in mind that by making it a uniform requirement for copyright protection, no one has an advantage over another and no one can "steal" another's code without it being quickly found out.

    8. Re:Simply Answer by jsegall · · Score: 3, Insightful

      Think the airplane business. When you buy a 757, you don't get the blueprints for the wing. That's a trade secret.

      Bad analogy. When you buy an airplane you have a reasonable expectation that it won't break, or that if it does, it's the manufacturer's fault and they are liable.

      If I buy a piece of software, I should have reasonable recourse to fix problems with it. Other than filing a bug report to a corporation that isn't liable and probably won't listen to me.

      Including source code could be a solution to the problem, but doesn't have to be. A corporation should provide some means for fixing problems. This could be a highly dedicated customer support staff, but it could also be access to source code. If depends on where they want to spend their money.

    9. Re:Simply Answer by Anonymous Coward · · Score: 3, Insightful

      Presumably, you would want the source to make modifications to it. Well, depending on the licence that the program is released with, too bad. You may not get to tinker with the source. Not everything is GPL'd, and for a good reason, folks.

      First off, noone ever said all the code needs to be GPL. Noone is asking for the code to be released under a license that permits unlimited distribution. Your assumption that the desire for source code is simply a desire to get something for nothing is moronic. The desire is for power over what you purchase, the same power as you have with buying a car and opening the hood.

      Second, why shouldn't the end user be able to modify their software to suit their needs? Lets say a bug is found. I could report the bug and wait for said company to fix it, generally in an uber-patch or I could fix it myself. With the former, you are stuck with said bug until the company decides to fix it. Do we really want to wait until SP1? What if said bug is a security risk?

      With a binary, or a CD, or whatever, you can add copy protection. Source code is just text. Cut, Copy, Paste, Compile. Now your friend has a working copy of a program he didn't pay for.

      Another misguided statement. No copy protection works. Hardware keys can be beaten. Keyservers can be faked. Copying binaries is just as easy as copying source. In fact, if you had the binaries and source and decided to give them to a friend, why would you bother sending them many many CD's worth of text instead of the much smaller, much more useful binaries? Remember, source code for various games has wound up on the net, as have binary game alphas/betas. Tell me which one gets copied more rampantly.

      Finally, how is releasing the source a shot to the foot? You still have to PAY for the source, the source is still protected under copyright. Regardless of what you want to believe, it is possible to know if your source is being used in an app you do not have the source for. Many times it has been shown that GPL code is in commercial apps in violation of the license it was released under, it would be no different with the source you release with your binaries.

      Think security software - say, your intranet system. You don't want your customers to have the source to that, because 1.) they probably wouldn't know what to do with it, 2.) it might fall into the wrong hands, or 3.) if they do manage to muck through it and change things, and somehow make their secure data hackable, there's a liability issue.

      To #1, your customers would probably not care for it until they needed it.

      To #2, if the 'wrong hands' are people interested in exploting your system then you should be flogged for creating a system that depends on its code being closed for its security. There are many programs that are considered quite secure that the source is viewable with. Also, remember that the source and 'secret data' such as passwords, etc are seperate and if said secret data falls into the 'wrong hands' then you have more problems than you can possibly know.

      To #3, if I open the hood of my car and drain the coolant, it is not Ford's fault when my block catches fire. If you change it, the changes are yours and liability is too.

      There are only two other reasons you would want the source - to steal the program or to just sit and stare at it

      If I want to steal the program, the source is not going to help me, I'll just fucking steal it thank you very much. Source code, to those people who can grok it, understand it and use it is invaluable. Small fixes to a program's behavior, the ability to tie a glue language into a product without any such previous bindings, the ability to audit, all of these are things that the source provides. None of them has a thing to do with stealing.

      With disclosing trade secrets often comes NDA's and lawyers. There's no reason this shouldn't be a part of the source code disclosure. Your inherent assumption that it's just some GPL hippies after free code is insulting and the fact that your post was Score:4 at the time of this reply only makes me further disgusted at the quality of moderation around here.

  5. Competitive advantage. by IdleTime · · Score: 4, Insightful
    I really see several reasons why source code should NOT be shipped with a commercial product:

    Support of user modified code is impossible

    Competitors may take advantage of reading the source

    It's "my money" that went into developing the source and "I" want to reap the benefits of "my" work

    Bug handling would be a nightmare

    There are several other reasons too. I'm not sure why all source has to be open source. Sometimes I feel that a lot of people just want a system to be Open SOurce just because it is The Right Thing (Tm), not because it would give them anything.

    I have no problem with non-commercial software beeing open-sourced or even to a certain degree commercial software. But is it really necessary that ALL software is open source? I fail to see the need in all cases or the reason for it to be so.

    --
    If you mod me down, I *will* introduce you to my sister!
  6. Honestly, it would never fly. by cybermace5 · · Score: 2, Insightful

    If this was an industry requirement, you wouldn't have developers shipping tight, well-planned code.

    You would have no developers and no applications. Technological progress has always centered on riding the bleeding edge, where the programmers themselves barely have a clue what the heck they're doing. If people knew how much of the stuff they use was designed under impossible time requirements by bleary-eyed schizophrenics, we'd still be riding in horse carriages.

    Look at how today's technology compares to NASA. They sit and pore over every detail, examine and re-examine; approve and check. What are they using in the space shuttles? 386's for main computers still?

    Requiring open code would put many companies out of business. A lot of customers have their own businesses depending on applications, and they don't care if the code is nice; they just want something that works most of the time and keeps their business running. That and a support contract keeps them happy, and the developers can gradually issue fixes to reduce the twinges of sloppy-code guilt.

    --
    ...
  7. This is 100% stupid by swissmonkey · · Score: 5, Insightful

    99% of the people absolutely don't care about the sources, why should they have to spend 20 more minutes downloading a bigger package if they absolutely don't care about it ?

    Who do you think you are to require people to open their code ? If you don't like closed source software, don't buy it, it's as simple as that.

    Authors also have a right to freedom, it's not only for the users.

    1. Re:This is 100% stupid by Night+Goat · · Score: 3, Insightful

      The downloads could be broken up into binaries and source code. Nobody's saying the public would be forced to get the source, the author's only saying that the companies would be required to make the source code available to people who bought the software. If it was shipped on a CD-ROM, it would be on the CD. If it was bought over the web, there'd be a link for the source code. No mega-zipfile.

  8. Where's the money? by Flamesplash · · Score: 5, Insightful

    The problem with OSS is that there is no money in it.

    Some have said that the money is in tech support / documentation, but that is just as bad.

    If your product generates enough tech support revenues to support a large project then you simply wrote horrible software, and chances are if you did write horrible software it won't be used. It's a paradox, so it probably won't actually happen. And people aren't that stupid - I hope.

    And if you charge people for documentation, then I simply call that bundling. You are paying for a bunch of documentation that just happens to come with some software.

    The way to make companies produce good software is to stop buying crappy software. It's pretty simple. If people stop paying for expensive tickets to go to professional sports then guess what, they will lower the price. It's simple economics of backlog.

    --
    "Not knowing when the dawn will come, I open every door." - Emily Dickinson
  9. He kind of has a point - but not. by Anonymous Coward · · Score: 5, Insightful

    If we take source to mean the building materials of a program, everything else is open.

    Words of a novel can be yanked off a page. You can order enough parts, individually, to make your own car rather than purchasing it from a dealership.

    You can always order wood and build a desk yourself. Got enough heat? You can make your own wine glasses that are exactly the same as those ones off the shelf. Everything, in reality, is pretty much open.

    There's a difference with code, though. If I write a program, a person with the source can compile it and use it without having any sort of skill. Whereas someone lacking skill can *not* write Lord of the Rings. They can't build a car for themselves that I'd wish to ride in. Their desk would likely fall apart. Their glasses would end with them receiving severe burns.

    If you wish to compare source code to everything else that's open, then, by the Gods, compare it fairly - compare the compilers, the availible libraries, etc.

    The tools and materials are there. The skill? The skill is why source is often closed, and in many cases, should be closed.

  10. Re:He's right, in more ways than one by AlgUSF · · Score: 2, Insightful

    No profit to be had in selling software? Tell that to MSFT!

    --


    I want my rights back. I was actually using them when our government stole them after 9/11.
  11. Sorry, this is just wrong. by rdmiller3 · · Score: 5, Insightful
    No, bridges are not "open" in the sense that you seem to think they are. Looking at a bridge will give you a similar level of understanding of the engineering behind it as you'd get from a block of object code.

    What kinds of steel were the supports and cables made of? What was the mix of the paving materials and how thick are their layers? Did the contractors skimp on the re-bar? How deep were the foundations sunk?

    Just try to get this information about any big public bridge. They'll say, "We can't tell you for security reasons." ...just like certain software vendors we know.

    -Rick

  12. Good Code vs. Good Products by Swanktastic · · Score: 2, Insightful
    If Raytheon, IBM, Microsoft, Oracle, and so forth are producing good software products (as they claim), let's see the code.

    Is it possible to have good products without "good code?" Depending on the product, I think yes. Do great videogames necessarily have "good code" or whatever the author decides is good code? Maybe, maybe not. For games, the distinguishing factor is not as much the coding (ie fulfilling the designer's vision) as it is establishing a good vision.

    YES, maybe it makes sense for security related products, but don't get greedy and claim that EVERY product needs to release its code.

  13. Like Houses... by tbonium · · Score: 2, Insightful

    To beat a dead horse - If we built houses like we build software, .....

    When you buy a house, it is either pre-existing or soon-to-be-existing. In the case of the former, you can only know as much as the owner tells you, and the builder's reputation and the packaging. In the case of the latter, you can visit the site as often as you want (just don't be shocked if you see some beer cans sitting around).

    I agree that most software sucks, but to say that you need to take the walls down to inspect the plumbing both trivializes a nontrivial problem, and tells one no-more-than 'next house on the list' inasmuch as they know what they are looking at.

  14. Posterity by kscd · · Score: 2, Insightful

    The biggest benefit I see to having it be open is history. We should establish an organization where people "check-in" the source of their commercially realesed product. That way, 20 years from now, when we desperately want to get at a document from said product, we might actually have a chance.
    then again, by that point copyright will probably prevent us from looking at anything interesting...
    -kscd

  15. RTFA by ryants · · Score: 4, Insightful
    You couldn't have read the article.
    Support of user modified code is impossible
    You don't support code, you support the binary you shipped.
    Competitors may take advantage of reading the source
    Only in the same way that Tom Clancey's competitors can take advantage of reading his books. The code is still under the full protection of copyright law, and since competitors would be required to disclose source as well, violations would easily be detected. Just like in the world of books.
    It's "my money" that went into developing the source and "I" want to reap the benefits of "my" work
    This proposal doesn't change that one bit.
    Bug handling would be a nightmare
    Er, wot?
    I'm not sure why all source has to be open source.
    That's not what this author is proposing. He is proposing the source be available for inspection, just like bridge blueprints are available for inspection, but they still can't be copied, because they are still copyrighted. To quote the original article:
    Note that I am not advocating open source licensing for commercial software. This is an important point.

    In short, RTFA.

    --

    Ryan T. Sammartino
    "Ancora imparo"

    1. Re:RTFA by Elladan · · Score: 3, Insightful

      You don't support code, you support the binary you shipped.

      Nothing would stop some idiot from making a mod, distributing it wildly, and then have every one calling *your* tech support for help.

      Nothing would stop some idiot from making a binary patch to your app *cough* crackers do this today to every app *cough* and distributing it wildly, and then have everyone calling your tech support for help. Your point?

      Only in the same way that Tom Clancey's competitors can take advantage of reading his books.

      Wrong, wrong, wrong. The only way I can take advantage of a Tom Clancy book is if I: A) Tear the cover off and try to sell it anway or B) Retype the whole damn thing from scratch Software is much easier to copy - a bit of compiling, and bingo - there you go.

      Ever heard of a Xerox machine? A scanner? Having the source or not having the source has absolutely no effect of any kind or form whatsoever on the meaning of copyright.

      And you're right, software is easy to copy. Exactly how is software in binary form harder to copy than in source form, again?

      And since competitors would be required to disclose source as well, violations would easily be detected.

      Hey, free engineering for a weekend of changing variable names and the odd alogrithm? Geez, thats too much for me to handle. I better give up this source code and pay somebody else for the binaries.

      I see you've never taken a CSE class at a university. Software exists which will take two code bases, possibly with completely different names and formatting, and decompose them into structural parse trees and compare those for signs of copying.

      It's a lot easier to do this if you have the source code, of course.

  16. Re:He's right, in more ways than one by nogoodmonkey · · Score: 5, Insightful

    To put it simply, there is no profit to be had in selling software anymore.

    Please tell me you are joking. Microsoft makes a lot of money off of software. How about Adobe? Macromedia? Real Networks? Symantec? The hundreds of game companies? Should I keep going?

    I believe that source code should be released when the product is out of support (the source for Windows 95 should be release, for example). To release the source for commerical applications with many users (Windows 2000, Windows XP, even antivirus software) would just be insane because of the amount of hacking that would take place.

    I do contribute on a few open source projects, but I do not believe that everything should be opened just because a few of us write code that is opensource. What is the percentage of OSS coders compared to programmers that code closed source applications. Might be a good /. poll.

  17. escrow by nettdata · · Score: 3, Insightful

    I'm the CTO of a software development company called Intellinger.

    We're young, new on the block, and competing against some big fish in the performance monitoring space.

    One of the biggest issues we have is trying to placate potential customers that are worried about us going out of business and leaving them with un-supported code.

    To get around this, we've put copies of source code, with docs, build environments/scripts, etc., in escrow. This way, if we DO go down in flames, all registered license holders of our software are entitled to complete access to EVERYTHING required to support the software themselves.

    This keeps our investors happy, our customers happy, and us, the developers, happy. There's NO WAY IN HELL that our investors, or me, for that matter, would condone or support making our entire product OS. We've spent a couple of years working on this thing, and we'd like to get some benefit out of it.

    There is an infrastructure (that we call Brazil) that will probably be put into open source in about 6 months, but the customized/specialized modules that plug into it that we've developed will NOT be made OS.

    Obviously, our position could change in the future, but for now, it's not an all or nothing proposition.

    --



    $0.02 (CDN)
  18. Unique code by sql*kitten · · Score: 5, Insightful
    In any large software system, the truly unique code probably accounts for about 1% of the source.

    In an academic, Computer Science research sort of way, you're probably right. And there is a lot of common code in many applications, it's true - but that's what vendor-supplied and third party .so and .dll files are for.

    The #1 cost in most software is time - to design, to code, to test and to document. That's what adds value. What you are saying is like saying that "houses should cost no more than the bricks they're made of, or that cars should cost no more than what the iron ore cost to mine. Hell, iron ore should be free, right, it's just sitting there in the ground waiting to be dug up!"

    Here are the facts:
    • Software costs money to write. Even open source software isn't written for free; everyone involved has a day job, and invests the money from that into the product. Even prominent figures such as Linus Torvalds (works for a chip designer) and Richard Stallman (funded by the MacArthur Foundation/MIT) don't pay their bills with open source.
    • Software is a risky business. An organization can invest literally tens of millions of dollars in a software project, only to see it fail. This could be because it doesn't do what it's supposed to, or because too few customers buy it, but either way they don't get back what they invested.
    • There needs to be a mechanism by which people who write software get paid - assuming that you want software to be written at all, of course. Further, there needs to be a means by which this cost can be spread amongst many people, so that commodity software can be written.
    • Therefore, until the cost of food, housing, transport, energy etc tends to zero because these things can be reproduced at near-zero cost (not going to happen anytime soon) software must be a product like any other product.

    People like you will continue to say that software should be free, and you'll keep coming up with ways to justify your belief. That's fine, because you're fighting the laws of economics, and they're just as implacable as the laws of thermodynamics.
  19. This guy cracks me up by DougJohnson · · Score: 3, Insightful

    If 1% of the source were to have the magic, then if that part is hidden, basically all you have left is gui and i/o. So What's the Point of releasing it?
    Furthermore, this guy somehow thinks that removing the #define is an effective barrier to piracy? I think I heard of something called a symbol table at some point.... maybe that would help black-beard?
    This guy is just trying to stir up shit so that he can make a mark. The only customers that would be dumb enough to hire him, are the same ones that would believe his inane ramblings.
    Good luck Mr. Connell, if you ever have a good idea, feel free to share it.

  20. Flawed argument. by crandall · · Score: 2, Insightful

    The entire point of his article is flawed. It seems he wants to open source just so that people can point out the 'bad design' or 'coding gaffes'. Now, I write a lot of code in a day, some good, some bad, and probably even a bit brilliant, but if it gets the job done properly and well, nitpicking over 'bad design' is just that.

    I'd imagine a lot of really great code is fugly as hell, and just because code is design well doesn't mean it will do its job well. The two are relatively independant, unless you like to take a holier than thou stance, which it appears this article is doing.

  21. open source != more time/money to make it better by sevenoftoine · · Score: 2, Insightful

    The assertion is that peer pressure will create better code. That indeed may cause some corners to get smoothed out, and some blatantly bad coding practices to get exposed. But fundamentally, it's not going to give the devlopers an extra three months, etc. to make it better! If a company has X dollars to put out a product, then you get whatever it is that X dollars will get you. Showing the code post-delivery will not have changed what you got in the first place. But back to the bridge: if there's only one bridge to cross, you're taking it, even if it's poorly built! But, if there is a choice of bridge to take, then the result is obvious.

  22. Intellectual Property by argmanah · · Score: 3, Insightful

    I find the article somewhat lacking. The points from the other side which he addresses are ones which the open source movement has addressed from day 1.

    Anyone who understands the open source movement already knows that peer review is superior to any internal QA process. Despite what the FUD claims, there is little question that the quality of open source software has been higher than that of closed sources software. I think the fact other people might see their software as "lousy" only accounts for a very small % of the reason why most software companies are not open source.

    Intellectual property is a much bigger issue, one which the article's author failed to address properly. Right now, I may have no clue what the best way to design a piece of software to do some particular task. If some other vendor has already designed that piece of software and released the source, I might not understand the details of what exactly is going on, but it would not be too hard to get a high level understanding of how the software works.

    From there, creating the better mousetrap becomes a much easier task. The design of the software is often as time consuming or more time consuming than the implementation.

    Sure, if I used their work in the creation of mine, I have created a derivative work. However, copyright law is a very grey area. If I kept my work closed source, how could anyone prove that I didn't steal my design from their product? They could sue me, but it would be at great cost to them, and if enough of the implementation was changed, they may not even win.

    Managing any company successfully is not a trivial task. Executive board meetings are not filled with people who want to create poor software and hide that fact from the consumer. However, when someone presents a concept that could a) help competitors get into their market and b) result in a huge loss in revenue (directly and indirectly), what do you expect them to do? If you were a developer at that company, what would you want?

    Regardless of how good you are, there's always going to be someone better out there. Most companies are realistic and realize this. Why give them an edge on your company's business? Do you really want to be out on the street that bad?

    --
    Overrated Moderation: This posts sucks... because.
  23. It used to be that way... by m11533 · · Score: 4, Insightful

    Long ago in a galaxy far far away... ... it used to be that ALL software was distributed in source code form, and then built by the customer prior to installing and putting it into production. The industry would have left things that way were it not for the fact that we were increasingly running into a number of big problems not solvable in that model:

    - Customers didn't follow directions, so they always were screwing up the build and/or install. These were very simple tasks back then, much simpler than they are today. And in theory customers were far more educated since they were the very few who could afford those multi-million dollar machines and the huge costs of the rooms and facilities they required. Somehow, though, they still were able to find ways to screw things up, and support organizations spent much of their time walking
    customers through these processes.

    This would be worse today given many software users have no clue how to program.

    - Support was a total nightmare as you never knew what source code customers were using.This was because customers would choose which patches to apply, and would add their own, leaving each customer with a totally unique piece of software. When something went wrong in it, it was impossible to know what the code was supposed to be doing, and what it was doing wrong.

    While this might not be quite as bad today, since we no longer must rely on "core dumps" to diagnose bugs, there still is the basic problem of being asked to diagnose problems when you really don't know WHAT source code that customer might be using.

    - the intellectual property problem... there were plenty of lawyers back then, but there really is a big problem with investing lots of money to build something, a unique set of code, and then making it easy for people to lift it. A variety of methods to secure it while still distributing it to all customers were attempted as there was tremendous cost associated with changing from a source distribution technique to a binary distribution technique, but none ever worked. If anything, today there is far more sophistication on the cracking side, so it seems even more doubtful that it is possible to secure code from mis-use when its considered IP. And there ARE valid arguments against giving away all code.

    SO...

    There were good reasons the computer industry turned away from distributing their software in the form of source code. I don't think they have been addressed, and thus I am unconvinced the equation has changed.

  24. Why?! by Vinnie_333 · · Score: 2, Insightful
    So, you want them to ship MILLIONS of lines of code so you can glance over it and say, "Oh, right here. I would have done that with a nested while loop," thereby making your assertation that the program is a lousy piece of crap regardless of how it works!

    Maybe the performance of the software might have something to do with how you rate it. I'm not against making software open source, but I can't honestly say that I've heard any argument for it that made any sense. Do you also want a complete parts lists and break down of the engine theory for your car?

    I assure you that NO ONE has seen ALL the source code for Excel or Word (or any other of the "too big for our own good" line of MS products).

    --

    "We shall party like the Greeks of old! You know the ones I mean." - HedonismBot
  25. I think this is foolish by iamdrscience · · Score: 3, Insightful

    Freedom is a sloping mountain and everybody wants to get to the summit, forcing all software to be open would be climbing up over the top and then starting down the other side. Nobody should have their creations FORCED away from them, it's THEIR creation, so THEY should get to deside how to distribute it to people. Ideally all people/companies would open their software, but that doesn't mean that they shouldn't have the right to refuse to open it.

    Richard Stallman has talked about how all software should be open and that's always been where I start to disagree with him. Again, I agree that it would be beneficial to the world if all software were open, but I still think that people should be given the right to choose whether or not they want release it as "open".

    Oh well, it's not something I really need to take a whole lot of time thinking about and defending against because it's really an unpassable law (and pretty unenforcable too). Just think about it, it'd be about as unenforcable as anti-piracy laws ;-)

  26. The client is in the hands of the enemy by Anonymous Coward · · Score: 1, Insightful

    Very true, but it goes beyond that.

    The author writes that if companies opened their source, we'd stop getting crappy programs... Well, vote with your dollar just like you do for EVERY OTHER product out there! Don't like it? Don't buy it. If there's an OSS solution out there, use it if you prefer. If you buy it you're saying that you're willing to overlook the bugs because there's something of value in the product for you.

    Well-designed software isolates important functions into small, non-redundant subroutines. Those routines simply can be replaced with empty stubs prior to including the source code in the purchase package.

    While I agree that well designed software SHOULD allow you to do this, not all software is well designed and it's a company's right to have crappily written software. The author seems to think that the good software police have some right to chastise these companies. Well, ya don't. Get over it.

    Furthurmore, the author makes the assumption that these removed subroutines can't be substituted by something else. If open source authors can deliver a functional, quality OS, they can figure out a couple subroutines and replace them. Tah-Dah! The company instantly loses their revinue because some hackers took their slightly incomplete source and finished it. Same goes for the constants. People can figure them out, and more importantly: People WILL figure them out.

    There's an addage in the gaming industry: "The client is in the hands of the enemy" They WILL hack the client and try to cheat.

    Fundamentally the author doesn't understand that the thing that makes software really cool is that there are no replication costs. Once it's written it can be duplicated infinitely for free. Other products like bridges, houses, and cars aren't like that. Even if I knew how a bridge was build, even if they gave me the schematics they used to build it... It would do me no good because I would have to hire a construction company and spend huge loads of cash to get my own bridge built. You could argue that another company could afford to do that, but it would be quite obvious that the second bridge was built using the first's design, and a lawsuit would follow. Although houses, cars, and bridges can be inspected by individuals, they cannot be replicated by individuals. That's where software is different and cool... And must play by a different set of rules.

  27. Re:Attacking the Problem from the wrong direction. by NineNine · · Score: 3, Insightful

    You're exactly right. When I buy a piece of software, it should work, period. I shouldn't have to look at source code at all, just like I don't have to ask Honda who makes their starters, and in turn as the starter manufacturer who they buy their windings from, and check out the winding manufacturers, and check the quality of the copper. That's bullshit. Software should be warrantied, and if it doesn't work as sold, it's fraud. Period. Software license agreements that say "we don't warranty this product" need to be challeneged in court because they are simply illegal. Just like those truck on the highway that say "we aren't responsible for damaged windshields". That's bullshit. They're carrying gravel, it's uncovered, gravel flies out and hits your car, they're liable, regardless of what the back of the truck says.

    We need to see some civil cases in which software companies are challeneged based on nonperformance of their products. It's not my responsibility to check the source code. My responsibility ends when I pay someone for the product. Period. I don't want to see the source code. I want the product to work.

  28. Why not? by russianspy · · Score: 4, Insightful

    I do not see why source cannot be an integral part of the product. Yes, I am a developer. Yes I do want to be paid.
    Let's look at the problems described in the article:

    1. Piracy.
    How is having the source making it easier to pirate things? People have been swapping microsoft binaries for ages. It is actually easier to just copy the installation disk (whether floppy or cd) than to recompile the program from sources.

    2.Copyright laws.
    Wouldn't it make it actually easier to check if people conform to copyright laws? If I release all of my source code and you are required (by the marketplace perhaps, not as a law) to do the same than it is quite easy to see if you copied some stuff of of me. How many people have wandered whether Microsoft has copied some code from GPL licensed programs (I doubt it personally). How many have the opportunity to CHECK if they have?

    3. National Security.
    I do not have a lot of confidence in a nation that bases its security on the ability to sweep them under the rug. The idea is to avoid having those problems in the first place! Maybe if this practice became accepted we would not have destroyers being run on windows.

    4. Safety-critical applications.
    Even if there is little to gain from having this code available to the users - not having it is worse. What are you trying to hide? If this is a safety-critical application then the answer should be "nothing, have a look".

    Nobody is asking to release the source code without compensation. It's just that the source becomes part of the application. IF most people will not use it - then fine. What are you worried about? Is your code really that bad that you could not write good code if forced to?

  29. no other product ships 'source' with it by hpulley · · Score: 2, Insightful

    Does your car come with blueprints and CAD design CDs? Does it even come with a parts list? No. Does your computer? Does your washing-machine? If they are really nice, your washing machine will have a little schematic in it for the repair guy to plug in his multi-tester and have a clue which overly expensive part to replace but you get nothing more.

    Just because we currently get LESS out of software, ie. a guarantee only that the media is readable not that it actually works, doesn't mean we should expect more out of it anywhere else.

    --
    $#!^ happens, but why does it always have to happen to me???
  30. What people want is likely not what they want by beej · · Score: 3, Insightful
    Being able to peruse the source and design for a program might allow you to determine the validity of the design, but that's about it. (Unless you want to pay your employees to line-by-line audit someone else's code.)

    Like the bridge analogy, you can see that the bridge is sturdy and will hold a sherman tank. That's swell. What you don't see are the misplaced rivets that will cause the bridge to fail in unanticipated ways.

    In other words, this is a kick-ass design, and I didn't notice that off-by-one bug until it was too late.

    Another thing to ask is what do people really want? Bug-free software? Of course! And you know what they say they really want on airlines? More legroom and good meals!

    Unfortunately, airlines that provide more legroom and good meals are running in the red. Unsurprisingly it turns out what people meant is they don't care about legroom and actually want the cheapest possible tickets and on-time flights. They complain that Southwest Airlines sucks, but everyone still flies with them!

    My point is that people want the cheapest possible mostly-working software. Let's say, for the sake of argument, that there somehow existed some kind of free operating system for which anyone could look at the source. Would it have fewer bugs than closed-source OSs? Possibly. Is that really important to people?

    No--really. Is it?

  31. Re:How does this help piracy? by Anonymous Coward · · Score: 1, Insightful

    If it was impossible (or even hard) to pirate closed source programs, you would have a point.

    It is not. Closed source programs are copied everyday. Everywhere. Especially in China as you mention.

    Selling the source along with the program wouldn't make it any different. It would just be some more bytes on the CD to be copied.