Make Connections

Network, Get Answers, Find Members in Your Area, and More!

Forums » Building a Website that Works

Open Source Software

    • 6 posts
    May 17, 2007 5:25 AM EDT
    There is another huge benefit to open source software: Support.

    Support from commercial entities is limited to whether they are making enough money from product sales to enable a decent support system. And you are still limited to one source for support and it`s not always included with the price of the product.

    With open source, especially popular projects, you have the community to serve you.  People seem very willing to help.  Like the old barn raising scenario, except that people can help you on their own time.  Most if not all popular open source projects have some sort of community forum or wiki.

    I have participated in so many of these projects, providing advice when I know the answer and getting questions answered when I don`t.  It`s not strictly related to development efforts either. The best communities have huge user communities that are just users helping other users.

    The Cathedral and the Bazaar is interesting reading for anyone who wants some additional information on how this all came about and why it works.  Rhichard Stallman is pretty much given credit as the godfather of open source .  The book  is written by Eric S. Raymond.

    This book delves deeply into the reason why open source evolved and why it works. It provides concrete economic theory and plenty of background on why the os method works for large complex pieces of software.

    • 86 posts
    May 24, 2007 6:04 AM EDT

    The answer to all these questions, is no - you can`t.  I think we are comparing apples and oranges here.  Again, I am not talking about modular architecture, or the ability to extend the functionality.  I am talking about modifying the core functionality.  In a compiled application, this cannot be done without the source!

    What did he say?

    • 86 posts
    May 24, 2007 10:11 AM EDT
    You folks have way too much free time on your hands.
    • 86 posts
    May 24, 2007 11:42 AM EDT

     

    Lets set the record straight here.

    First of all, I am not nor have I ever been associated with or part of GoTruckstop.com.

    I know TJ Graff, because I read a number of his posts here, prior to him being "banished" from SuN - simply because he had the guts to speak the truth about Rich Sloan. (at a time when Rich Sloan was acting like a horse`s pittoot.)

    TJ shared with me a number of instances where there was group think here at SuN - and because he challenges the status quo - he was banished from the forum by Rich Sloan.

    As far as anyone calling you - I have no idea what you are talking about.

    And as far as this discussion - IMHO - you lost many a folk here. Remember, most folks here are new startups, not a bunch of techies or geeks.

    This discussion between a few of you is like watching someone wrestle with a pig.

    Sooner or later you realize - the pig enjoys it.

    Now, if you have proof that I am who you say I am - I suggest you provide it here and now !!

    Otherwise, go slither off in a corner.

    (Sorry folks for the rant - but enough is enough.)

    blondieblue2007-5-24 16:43:57
    • 37 posts
    January 1, 2013 11:41 PM EST

    Thanks for sharing this information about open source software. I found this information really helpful as well as informative. Keep sharing more such posts.

    ---
    Moving Software

    • 394 posts
    May 23, 2007 1:27 PM EDT

    I find it interesting that many open source people complain about licensing terms or attempts by software developers to protect their intellectual property. How do most web developers feel when the client doesn`t want to pay for services rendered or suggests an exchange of "free promotion" in exchange for a "free website".

    Personally I love watching the open source movement talk about the need to destroy the proprietary models that built the computer industry. Good luck!

    Everyone deserves a fair wage for their work. Period.

    If you don`t like the license agreement, don`t license the software. Or, write a better version and release it as open source. But really, I think if you aren`t willing to write an accounting program and release it as open source, then don`t complain about someone who is kind enough to write an accounting program ... even if it`s proprietary. That is the point where you should keep your teeth tightly pressed together so you tongue and lips cannot move and give birth to uninformed statements.

    Please be fair and balanced if you discuss Eric Raymond. Tell the SUN members here that he is regarded as insane by a good sized chunk of the open source movement. This isn`t Fox News.

    • 394 posts
    May 23, 2007 1:43 PM EDT

    I really have to write again. I am completely and utterly astounded by the nonsense uttered herein.

    "This book delves deeply into the reason why open source evolved and why it works. It provides concrete economic theory and plenty of background on why the os method works for large complex pieces of software."

    I hope you`re not a software developer. The open source method has no advantages over the proprietary method. What is the supposed difference? More eyeballs? Didn`t Microsoft`s much delayed Vista release just prove that more eyeballs don`t necessarily help. How many developers did Microsoft hire to write Vista? Ten or 10,000?

    As far as I know, it`s still pretty easy to write huge classes in open source. Huge classes aren`t always a good thing. It`s also just as easy to write bugs and make bad design decisions. The concepts of good software design are by no means unique to open source. Modularity is not unique to open source. Good code structure and proper functionization are not unique to open source. Correct use of abstraction and encapsulation are not unique to open source.

    While Cathedral/Bazaar is certainly interesting, it`s also incredibly biased. Nothing wrong with bias. But in the context of this discussion, the bias should be noted.

    • 394 posts
    May 23, 2007 4:12 PM EDT

    Clearly you don`t understand how open source works. As an open source developer I`m extremely protective of my IP but I can see the benefit of sharing the source.

    [ I understand how open source works.  But open source arguments are often coupled with additional arguments against conventional licensing or subscription models. See previous posts in this thread. Open source is not bad; but a lot of open source proponents are against proprietary software because it bothers them. ]

    This is the kind of crazy restriction that is increasingly appearing in proprietary software licenses.

    [ Crazy license agreements have nothing to do with proprietary products or the proprietary model. As I said above, a lot of open source proponents are against proprietary software period. They think information should be free and look at any effort to charge for software as an affront to human dignity. Yet they turn around and purchase cars and food without mouthing a single word of complaint. So it`s really just a b.s. argument on the part of open source. Where are the arguments for free food and cars? Open source can`t have it both ways. ]

    You also need to understand that there is a big difference between protecting your IP and restricting how your software is used.

    [ How Company X chooses to protect their intellectual property is their business. The clauses Company X puts in their contracts is their business. If someone does not like a clause in a contract they are free to buy a different product. ]

    I think you`re confusing Eric Raymond with Richard Stallman.

    [ No, I`m not confusing the two. Eric Raymond is racist, homophobic idiot who favors genocide with respect to Muslims. But don`t take my word for it. This man has made statements that are *fantastically* and *shamefully* racist. But I guess if you can put the incredible racism aside, and if you can forgive his calls for genocide, go ahead and read his book. ]

    • 394 posts
    May 23, 2007 4:27 PM EDT

    This is a competitive advantage for me.

    No it`s not. A competitive advantage is an advantage you have over your competition. Your competition can do the same thing for zero cost.

    End users can customize software to their requirements.

    This is not an advantage of open source. This is a "feature" of well written software, open source or proprietary.

    End users can use the software any way they want.

    Hmm. I don`t think this is strictly true. Can you provide details of the common open source license agreements, especially the parts that grant end users the right to "use the software any way they want"?

    Developers benefit from users and other developers contributing patches and features

    This is not an advantage of open source. This is a "feature" of well written software, open source or proprietary.

    It`s easier and cheaper to sell the software (i.e. convince customers to use your application)

    Hmm. Really? You must mean the upfront sale, right?

    Generally you make more money from services associated with the software than the software itself (this is why IBM has been moving to services).

    There is a lot of open source babbling about how the proprietary model "locks in" the customer, "soaks" the customer, and "restricts" the customer. From what you`ve described here, I really don`t see the difference. In your description of this model, open source sits as parasite on the back of the customer - just like the proprietary model. There are "services" instead of upgrades. Oh and please make sure the check doesn`t bounce, right?

    Any there any other points you would like me to neatly refute?

    • 394 posts
    May 23, 2007 4:38 PM EDT

    p.s. I have nothing against open source, although I certainly don`t care for Eric. Raymond. In fact, I even use open source products. Quite a few in fact.

    But the real value of open source is not technological. It has no technological advantage nor any real, sustainable competitive advantage over proprietary software. Not in any true sense, nor in any important sense.

    Open source excites people because it creates markets. Markets for MySQL, markets for Linux. Sometimes it even creates giant markets or helps people build giant markets. And a market is just a giant pool of capital and people use that capital to make investments. So that`s why open source is exciting. But proprietary software, like Windows, also creates markets. The Windows ecosystem is a huge market that has created more wealth than ... well anything I can think of. In fact, open source really owes its existence to Windows, as much as people don`t want to admit. Windows is the reason cheap computers exist. Windows is the reason that people can buy a great compiler for a few hundred bucks. Windows is the reason that most of us can afford a computer. So proprietary software is, and will remain, a vastly superior model until the day that open source can claim to have created as much wealth and productivity as proprietary products.

    • 394 posts
    May 23, 2007 6:31 PM EDT

    Everything I wrote is correct. I have certainly done enough software development to speak correctly about software architecture. Being able to create patches is a sign of good design. It is. Sorry but what`s the alternative? Not being able to create patches? Being able to add features and write extensions is a sign of good design. None of this is exclusive to open source.

    I think you don`t want to waste time "debunking" my mistakes because I haven`t made any for you to debunk.

    • 394 posts
    May 23, 2007 6:39 PM EDT

    In fact, Windows is a great example. Millions of developers have written extensions to Windows without its source code.

    I really don`t want to get into a fight, but you cannot expect me to sit around while you talk about open source advantages that don`t exist.

    • 394 posts
    May 23, 2007 7:39 PM EDT

    A patch or the ability to patch requires a modular architecture. So patches require good design. [A patch as opposed to a completely new version.] Windows is a perfectly good example of how great design facilitates platform extension. Whether or not you choose to view Windows extensions as "pure extensions". They are, more or less. [ We should also avoid the argument of whether or not Win32 is well-designed. ]

    My point. The benefits of open source are really benefits of good design. Good design is not exclusive to open source. It is found in proprietary architectures as well. A lot of the benefits of open source are not really special. Sure the upfront cost is lower but that doesn`t convey any competitive advantage whatsoever because it`s lower for everyone.

    Am I missing something?

    • 394 posts
    May 23, 2007 7:45 PM EDT
    p.s. RE: Windows. Windows is a just a computer program. It`s a closed source computer program. It is a platform and a computer program. Many programs host other programs. What is a DLL? It`s just a program hosted by another program.
    • 394 posts
    May 24, 2007 7:01 AM EDT

    I am talking about modifying the core functionality. 

    [ Well again this is just a matter of good design. If an application is well designed you can modify core functionality without the source code. ]

    • 394 posts
    May 24, 2007 9:13 AM EDT

    Specific examples.

    Let`s say that I am dealing with a product that performs 3D rendering and I want to write my own rendering library. If the product is well-designed, you can replace the core rendering functionality with you own rendering library. Or if the product is especially well-designed, you can replace or override one rendering class with your own. There are a world of additional possibilities if the application is data driven and takes advantage of abstraction/encapsulation to define functionality in granules instead of in monolithic structures.

    Or let`s say I want to create a user-defined data type to replace core functionality or enhance core functionality. Assuming the application is well designed, this should be a snap. I don`t need the source code to do this. The example of Windows, where people have been successfully developing extensions to the platform for two decades, really says more in support of this argument than anything I can write.

    There is no fundamental difference between an add-on or patch or a module. Modular design - good design - makes it possible to do anything. There are lots of products, like Maya, that are examples of good design where source code is not required to make changes to core functionality. In a properly designed program, core functionality isn`t hard coded. Core functionality is implemented in modules. User-defined functionality is implemented in modules. There`s really no difference between a DLL that Microsoft ships and a DLL that an ISV ships.

    Also, this is especially true and important in large scale systems where replacing large parts of infrastructure or user-level features would be very difficult - even with source code.

    • 394 posts
    May 24, 2007 9:19 AM EDT

    "If you want to fix that pesky Windows security flaw, can you do it without Microsoft?"

    [ Yes, you could, assuming the system is well designed. ]

    So if you this DLL you speak of exhibits undesirable behavior, can you change the behavior without access to the source code?

    [ Yes, you could, assuming the DLL is well designed. ]

    I am talking about modifying the core functionality. 

    [ Core functionality is just a programming term. There is probably/possibly no such thing as "core functionality" in a well designed application. Even in an API, if it`s well designed - there is just functionality - not core functionality, not extended functionality. ]

    • 394 posts
    May 24, 2007 9:24 AM EDT
    Core functionality as you describe it, really exists in hardware, and even then, hardware is increasingly programmable. CPUs are already highly programmable. Without good design - fantastically good design - the concept of a CPU would never work. Even with Intel`s banjax of the Pentium, a fix was implemented in software without changing the microchip itself.
    • 394 posts
    May 24, 2007 10:48 AM EDT

    BlondieBlue,

    We`re here having an interesting technical discussion on source code, software development, open source, etc. If you don`t like it, perhaps you can search people`s profiles and look up their work numbers so you can call them and talk about GoTruckStop and make disparaging comments about the Sloan brothers. I`ve really had enough of you.

     

    • 84 posts
    May 23, 2007 7:06 PM EDT

    Being able to create patches is a sign of good design. It is. Sorry but what`s the alternative? Not being able to create patches? Being able to add features and write extensions is a sign of good design. None of this is exclusive to open source..

    .

    .

    In fact, Windows is a great example. Millions of developers have written extensions to Windows without its source code.

    Windows is not a good example.

    No one has written any "extensions" for Windows.  Millions of developers have written software that runs in it.  Windows is an operating system, one of its main fetautes is acting as a host for third-party software.

    However, no one has written any patches for Windows.  If you find a bug in Linux, you can you fix it yourself or hire someone to do it for you.  If you find a bug in Windows, you wait for a service pack from Microsoft (or attempt to create a hack, in violation of your license agreement).  This is the main difference between proprietary and open source.  Any software llicense agreement will include terms against modifying the software; being able to create patches is not at all a sign of good design if you are selling software-in-a-box.

     

    By the way, Microsoft and open source are not contradictory terms:

    http://www.asp.net/downloads/starterkits/default.aspx?tabid= 62

    oleg2007-5-24 0:6:59

    ---
    Oleg Issers | StartupNation.com Web Team

    50% of computer programming is trial and error. The other 50% is copy and paste.

    • 84 posts
    May 24, 2007 5:26 AM EDT

    p.s. RE: Windows. Windows is a just a computer program. It`s a closed source computer program. It is a platform and a computer program. Many programs host other programs. What is a DLL? It`s just a program hosted by another program.

    So if you this DLL you speak of exhibits undesirable behavior, can you change the behavior without access to the source code?

    If you want to fix that pesky Windows security flaw, can you do it without Microsoft?

    If you want to change a feature of some proprietary software, can you do it without the source code?  Say you want Excel to automatically copy a cell into clipboard when you double click on it.  I am not talking about writing a macro or an add-on, but modifying the behavior of original software itself. Can you do it? 

    The answer to all these questions, is no - you can`t.  I think we are comparing apples and oranges here.  Again, I am not talking about modular architecture, or the ability to extend the functionality.  I am talking about modifying the core functionality.  In a compiled application, this cannot be done without the source!

    The benefit of open source is that you readily have access to the source code, and are free to modify it and recompile it as much as you want to accomplish your particular needs.  To me this is such an obvious and huge advantage, I don`t see how anyone can argue against it.

    Don`t get me wrong, I am not knocking Microsoft or any other proprietary software.  Actually I find myself defending MS very often; I and millions of others have made a living off working with MS platforms.  The resources that MS provides to their development community are absolutely unrivaled.  Still, having the source code is better than not having the source code, don`t you agree?

    ---
    Oleg Issers | StartupNation.com Web Team

    50% of computer programming is trial and error. The other 50% is copy and paste.

    • 84 posts
    May 24, 2007 7:51 AM EDT

    Tertius,

    I agree with you for most part.  Both open source and proprietary software has its place; both can be well designed and implemented, or poorly.  And for the small business community, open source is often a better fit.  For example, most e-commerce websites do not need a database with the capabilities of MS SQLServer or Oracle, nor can they afford the price tag.  It would be much wiser for those sites to go with an open source mySQL database.  On the other hand, for an enterprise-scale application, SQLServer is the way to go.

    The only argument I am trying to make here is that if you are a software developer, it`s is always better having access to the source code than not having it, as it gives you flexibility to change and mold a product to fit your individual needs.  If you are not a developer, the whole open-source argument is meaningless anyway - you just need a piece of software that functionally suits your needs and fits your budget; how it is implemented isn`t a big factor.

    A couple of points I do not agree with:

    • "being able to write patches, and not needing a new version is a sign of good design, be it open-source or proprietary."  - Sure.  Microsoft releases patches and service packs for Windows all the time.  No one else does, because they do not have the source code.  Being able to write patches is a sign of good design, but you absolutely need the source code to do it.  Otherwise you are talking about ad-ons, not patches.  If this is not the case, name one piece of proprietary software that is shipped without the source code yet at the same time allows you to fix bugs and write patches?
    • "Sure the source is changeable.  But can every person here code?  Can every person here learn erlang because the program they use isn`t written in java?"  No, not everyone can code.  But anyone can hire a developer to do it for them.  And if you are a developer, the language should not be an issue; if you know Java but are not willing or able to learn another language then frankly you are not a very good developer.  You`ve said this yourself:  "software engineering is software engineering" - the same principles apply regardless of the implementation.

    ---
    Oleg Issers | StartupNation.com Web Team

    50% of computer programming is trial and error. The other 50% is copy and paste.

    • 84 posts
    May 24, 2007 7:53 AM EDT

    I am talking about modifying the core functionality. 

    [ Well again this is just a matter of good design. If an application is well designed you can modify core functionality without the source code. ]

    How can you modify core functionality without the source code?  Give me a specific example. 

    ---
    Oleg Issers | StartupNation.com Web Team

    50% of computer programming is trial and error. The other 50% is copy and paste.

    • 84 posts
    May 24, 2007 9:44 AM EDT
    "If you want to fix that pesky Windows security flaw, can you do it without Microsoft?"

    [ Yes, you could, assuming the system is well designed. ]

    So if you this DLL you speak of exhibits undesirable behavior, can you change the behavior without access to the source code?

    [ Yes, you could, assuming the DLL is well designed. ]

    I am talking about modifying the core functionality. 

    [ Core functionality is just a programming term. There is probably/possibly no such thing as "core functionality" in a well designed application. Even in an API, if it`s well designed - there is just functionality - not core functionality, not extended functionality. ]

    OK, maybe in a perfect world full of perfectly designed software you can do all these things.  Now let`s go back to the real world: 

    • Can you, or any other software developer who does not have access to Windows source code, fix a security flaw that Microsoft hasn`t release a patch for yet?
    • Can you modify the default double-click functionality in Excel?
    • Can you change the WinXP file search to work more like Win2000 file search? (If you can, please let me know! I hate the XP search.)


    These are real questions, not theoretical ones.  In the real world, it makes no sense for a software manufacter to allow the end user to modify their software.  Even if you can figure out how to do it, your license agreement most likely contains a clause to explictly prohibit you from doing this.  This is not poor design, it`s just good business sense.  If you go by your criteria for well-designed software, you have to admit that the overwhelming majority of proprietary software on the market today is poorly designed.

    If well designed software should allow users to modify any of it`s core functionality, then why would the software producer even bother with obfuscating the source code? 

    ---
    Oleg Issers | StartupNation.com Web Team

    50% of computer programming is trial and error. The other 50% is copy and paste.

    • 84 posts
    May 24, 2007 1:13 PM EDT

    Blondie, TJ, or whoever you are:

    Apparently there is a number of tech savvy folks here who enjoy discussing software development methodologies and merits of open source software.

    Apparently you`re not one of those folks.  Fine.  Feel free to participate in other threads that are more to your liking.  You can even start one of your own!  You can do that, can`t you?

    This discussion between a few of you is like watching someone wrestle with a pig.

    Sooner or later you realize - the pig enjoys it.

     

    Do you speak from first-hand experience?  Hey, maybe you can post a new thread about pig `rasslin!

    ---
    Oleg Issers | StartupNation.com Web Team

    50% of computer programming is trial and error. The other 50% is copy and paste.