WE'VE MOVED!
We are proud to announce our NEW community destination. Engage with resident experts and fellow entrepreneurs, and learn everything you need to start your business. Check out the new home of StartupNation Community at startupnation.mn.co
We are proud to announce our NEW community destination. Engage with resident experts and fellow entrepreneurs, and learn everything you need to start your business. Check out the new home of StartupNation Community at startupnation.mn.co
Options
Open Source Software
Sign In or Register to comment.
Comments
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?
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?
[ 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. ]
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.
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.
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.
[ 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. ]
[ 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?
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.
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
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!
We are also a good example about
how Open Source can works.
We have been developing a
HR Open Source App for the past 3 years. The results, the way clients and
developers join the idea is simply great. Till now, our community have been
helping us to translate the app for more them 12 languages and report bugs. We also
have been helping small and middle size companies, who has no money to hire (license
+ implementation + support) expensive software, to improve their production level
and become more competitive by using our free application (you pay only for the
support, if you want). Just take a look at http://weblog.infoworld.com/openresourc ... e_erp.html
And this is not only about
OrangeHRM. A considerable number of other Open Source companies are
contributing to this as sugarCRM, OpenBravo, Linux, MySQL etc.
If the Open Source model
will completely substitute the traditional model, I don’t know. But for sure,
will radically change the competition bases of the software industry (for
better).
O
range
HRM
Inc.
Telephone:
+1-914-458-4254
(USA)
+94-11-550-5500 (Asia)
web
:
www.orangehrm.com
538 Teal Plaza
Secaucus, NJ 07094
Open Source HR
Management