|
No difference - in fact it's probably worse.
That's why my feeling is you either grab open source code and know you can modify/patch it, or buy components from a software house that has a good history and reputation.
cheers,
Chris Maunder
|
|
|
|
|
Like someone said above you should carefully evaluate the product you include and see if it meet your quality, support and license requirements of your product.
For instance I do not hesitate to include boost in the stuff I create today.
What scares me are developers that include a large hackish library that solves a small problem and has no support and no quality. To counter the quality issues the developers most probably have made subtle undocumented hacks to the library which means the software will break in subtle ways when I'm forced to update the library. Then they leave everything to me to maintain *sob*.
Of course, this is is not specific to OSS but to all code that is included into a project. Even code that's borrowed from previous projects.
PS. Sorry for ranting
/Mårten
|
|
|
|
|
I agree with you there. We had that exact problem at my last company... we used a cool little graphing component, but the only source code it had was an MFC wrapper around a COM component.
And sure enough, the company completely changed their interface and focus for newer versions, so we couldn't easily upgrade when we outgrew the capabilities the version we were at had to offer.
We ended up having to redo a lot of it by hand.
An expert is somebody who learns more and more about less and less, until he knows absolutely everything about nothing.
|
|
|
|
|
Existance of a commercial component has one advantage: There is a market for it. Meaning even if the original manufacturer folds, there's a reasonable possibility someone else will crop up and gather the old customers.
That's my main "fear" wih OpenSource products: no continuity. outside the "geek factor" range, many OS projects are driven by one or a very few individuals that, when their life changes (aka college ends), often leave no heir.
we are here to help each other get through this thing, whatever it is Vonnegut jr.
sighist || Agile Programming | doxygen
|
|
|
|
|
I disagree - if the company folds, it means there probably wasn't the market they expected. Or, perhaps it's because they lost out to an (incopmatible) competitor's library.
An expert is somebody who learns more and more about less and less, until he knows absolutely everything about nothing.
|
|
|
|
|
or they just made a mistake, or....
It is true, it is far from a guaranteebut it is certainly more safe than a "college spleen".
Until OpenSource produces a functional Accounting Package, I'll be hesitant.
we are here to help each other get through this thing, whatever it is Vonnegut jr.
sighist || Agile Programming | doxygen
|
|
|
|
|
Here's an equally likely scenario (and one i've personally experienced more than once):
1) You purchase a popular and well-supported commercial product. But do not get source.
2) The vendor comes out with a new version of their software that breaks yours, making an upgrade difficult. Meanwhile, support contracts for older versions expire.
3) The small little cludges you've had to write to work around bugs or shortcomings in the product have grown into a vast pile of ugliness, taking far more time to maintain than writing the entire component from scratch would have been initially. And also making upgrading near impossible.
4) You develop an unhealthy interest in firearms.
You're one microscopic cog
in his catastrophic plan...
|
|
|
|
|
Do I understand exactly what it's doing? Can I read it easily? Then sure, no problem.
If I don't know what it's doing or I have a hard time reading it (eg, bad coding standards and what-have-you) I'd prefer just to get the jist of what's going on and write it myself.
This space for rent.
|
|
|
|
|
Adam Goossens wrote:
If I don't know what it's doing or I have a hard time reading it (eg, bad coding standards and what-have-you) I'd prefer just to get the jist of what's going on and write it myself.
I'm really surprised by your answer. If you buy a commercial library, you don't even get the opportunity to look at how the code is written, whether they comply with standards, etc.
Sure, I can understand that given the opportunity to look at the source, that it's a good idea. But with a closed source product, you don't even have that opportunity, so I'm curious what criteria you use to select closed source commercial products?
Marc
Microsoft MVP, Visual C#
MyXaml
MyXaml Blog
Hunt The Wumpus
RealDevs.Net
|
|
|
|
|
I was referring to using Open Sourced Software, rather than closed-source commercial. I should have made that clearer I suppose.
Having never used a closed-source commercial product in any application I can't really comment on how I would select them. Since I'm also not employed by a software company (yet), I also can't comment there.
If I had to, though, I would spend a great deal of time talking, gathering reviews, viewing examples, etc. Word of mouth is the most powerful advertising. However, this method probably won't work when deadlines are looming In that case, I'm in the dark.
I'm interested to know: what sort of criteria do you use yourself?
Regards.
This space for rent.
|
|
|
|
|
Adam Goossens wrote:
what sort of criteria do you use yourself?
A lot of sites offer forums where users post questions and problems, so I read those. Just like with CP articles, if an article looks interesting, I'll read the comments in the forum first. Google is great for finding people that have blogged about some software. A trial download is also great, but takes more time usually.
As you said, viewing/dissecting examples is a great, and I'm pretty impressed with the response I get from customer support from a variety of sites.
Marc
Microsoft MVP, Visual C#
MyXaml
MyXaml Blog
Hunt The Wumpus
RealDevs.Net
|
|
|
|
|
I simply can't imagine C++ programming without Boost[^] anymore.
Boost libraries are peer-reviewed, high quality, free to use for any purpose, and no typical open source "we are going to save the world" bs.
My programming blahblahblah blog. If you ever find anything useful here, please let me know to remove it.
|
|
|
|
|
I agree absolutely - Boost is the best. Mind you I only use about 0.3% of it.
Neville Franks, Author of ED for Windows www.getsoft.com and coming soon: Surfulater www.surfulater.com
|
|
|
|
|
Was it legal to do so for the code/licence at hand?
we are here to help each other get through this thing, whatever it is Vonnegut jr.
sighist || Agile Programming | doxygen
|
|
|
|
|
I was going to add this but figured it might dissuade some people to vote
cheers,
Chris Maunder
|
|
|
|
|
mostly for support code, like UI or non critical code.
all that makes our software is either home-made or use commercial source code ( e.g. dundas )
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
Don't forget commercial producs can and do contian open source.
I used to work in the newspaper industry, on the printing side, everyone uses TIFF files I would say all products use the open source libraries from libtiff.org.
Now that is a mission critcal industry, any print problems equals no papers the next day!
"Home computers are being called upon to perform many new functions, including the consumption of homework formerly eaten by the dog." - Doug Larson
|
|
|
|
|
Don't forget commercial producs can and do contian open source.
For those who still use Internet Explorer, take a close look at the "About" box. You'll see a line that says something like, "Portions of this software are based in part on the work of the Independent JPEG Group."
So even Microsoft uses open source code.
An expert is somebody who learns more and more about less and less, until he knows absolutely everything about nothing.
|
|
|
|
|
Maximilien wrote:
all that makes our software is either home-made or use commercial source code
And how do you know that the commercial source code, which you can't inspect, is up to par for your mission critical code?
Marc
Microsoft MVP, Visual C#
MyXaml
MyXaml Blog
Hunt The Wumpus
RealDevs.Net
|
|
|
|
|
in the example of Dundas, we bought the source code, so, we can inspect it.
When buying non-source code component, it's a risk, I agree, and it's kind'a of shared between us ans the component creator; if at some point the component does not work or is too buggy or hard to integrate in our product, we can change it, or contact them and discuss the issue with them and work together; it's for our mutual "bénifice".
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
You can generally do the same with open source developers. In fact most of the ones i've dealt with have been more willing and able to help than their commercial counterparts where you generally have to go through a support desk rather than direct to the developer.
|
|
|
|
|
Actually, usually us in small parts only. Large open source projects usually are a pain to maintain in your code and I personally like to know my code I am selling, if it is a large part, I would not know the code and could be opening the project to security issues or defects.
Rocky <><
www.HintsAndTips.com
www.MyQuickPoll.com - 2004 Election poll is #33
www.GotTheAnswerToSpam.com
|
|
|
|
|
Rocky Moore wrote:
Large open source projects usually are a pain to maintain in your code and I personally like to know my code I am selling, if it is a large part, I would not know the code and could be opening the project to security issues or defects.
So, how do you address these concerns with a closed source commercial library? How do guarantee maintenance, security, defect resolution, etc?
Marc
Microsoft MVP, Visual C#
MyXaml
MyXaml Blog
Hunt The Wumpus
RealDevs.Net
|
|
|
|
|
Marc Clifton wrote:
So, how do you address these concerns with a closed source commercial library? How do guarantee maintenance, security, defect resolution, etc?
Commercial libraries are there to make money. As such they are more likely to police their code and give you are more feature rich and dependable product since it does mean their paycheck. In open source, you are usually at the mercy of programmers that are working on the project in their spare time as they have a job somewhere to pay their bills. While not all open source fit into this mold, many do and the projects can take forever to complete and fix when errors arise.
Of course, there are commercial products that people put out and then seldom maintain, but you are more likely to have issues resolved and a stable dependable solution with a commerical product. And you usually have a support avenue when problems do creep up.
My first thoughts on this poll were more in the lines of integrating the open source into my project than actually using a library that is more of a black box structure.
An additional problem with open source is when they decide they are going to market it as a commercial application and then take your rights to it away or sometimes all future versions.
Rocky <><
www.HintsAndTips.com
www.MyQuickPoll.com - 2004 Election poll is #33
www.GotTheAnswerToSpam.com
|
|
|
|