Welcome to WebmasterWorld Guest from 188.8.131.52
Forum Moderators: LifeinAsia
Take for example osCommerce - my favorite shopping cart. It costs nothing to download and install - except your time. If you know PHP really well and are good at wrapping your head around another programmer's code then you'll have no problem with it. But if you're a novice or a beginner - suddenly it seems like a much bigger task.
You have couple of options:
1. Bitch about how complicated it is.
2. Take the time to learn it and a smattering of contributions.
3. Cough up the cash and buy a cart that does what you want without having to learn code.
4. Cough up the cash and buy an online cart service.
On the one hand we get upset because a top rate program costs several hundred dollars. The thinking goes that it's much cheaper to get a free package and use it instead. On the other, we get what we pay for. A free program often requires more of our time.
Take stats analysis for example. Sure you can look through the raw logs and identify a single user, what they typed in at the SE, where they landed on your website, what pages they viewed, and how long they stayed on each page. How long will it take you to extract that information without the aid of a good analysis program? The more important question is what's your time worth?
I don't know about you but I don't have the time to sift through the raw logs everyday to get basic information. A $500 purchase for log analysis software may set me back a bit but within a short period of time - it's paid for itself in time savings.
We should also factor in the fact that for those of us who learn through the school of hard knocks, it takes time to achieve a sufficient level of knowledge such that we are proficient. Learning osCommerce, for example, is no small task. It would be much easier - at the outset at least - for me to go buy an off-the-shelf cart.
The reason I continue to struggle with osCommerce is that the long-term rewards far outweigh the struggles. Once I've mastered the code I will be able to customize the cart to suit my needs without much effort.
To me the learning process, while it does take time away from actually earning money, allows me to learn more than just the ins and outs of the cart. I've made connections on a new Board, I've learned more about PHP, I've learned more about the shopping experience and the options that go with developing the online shopping process. That's worth a lot to me.
The point is. There's more than one way to look at the tools we work with. Just because it's free doesn't necessarily mean it's the best choice for you. Here's a list of considerations I use when considering the purchase of a new tool:
1. Initial Purchase Cost
2. My time to learn/build it
3. My time to use it to get a result
4. Ancillary benefits
5. Ancillary issues
6. Cost to get support
7. Average time before a support is rendered and I'm back up and on my way
8. Number of support options - one manufacturer or a community of users?
9. Cost to upgrade
10. Effort required to upgrade
11. Necessity of the upgrade - do I need to keep up with my clients or is the upgrade simply a "nice to have"?
If you do opt to go on the cheap, don't turn around and complain because the software doesn't have all the bells and whistles you want. You get what you pay for. If you don't want to pay for it, and you don't want to build/modify it - what is it you expect?!
Great post with good detailed food for thought. Maybe one way to summarize your point is to say "things can cost no cash, but may have a higher cost once you add up the intangibles."
With that in mind, up to you whether to read the remainder of this "free" post ;-)
To take your point one step further, Iíll shift from the 1st person into the 3rd person e.g. From my experience trying to do things on the cheap with others results in a product that doesn't work or me having to "spend" more in time than I would have had to in cash.
You could offer someone cash to do design or coding work. This allows you to tap into the pool of busy professional designer/coders. They might be willing to take an equity position in a site for their work, but generally they'd expect these future cash flows to be risk-free.
If you tap into the next level of designers / programmers then they might be willing to work on a commission basis. The benefit to you is, of course, cash flow and the spread of risk. You could offer equity that is expected to be more profitable for them than an upfront cash payment.
But I've found that you have to talk them into it, and in the end, they don't actually perform. Maybe I just donít know how to motivate in this environment but I have found that since this is intangible in practice it just doesn't work.
Or at least it didn't work in the mid-90s. Maybe with the increased supply of programmers and the reduced demand it might work better now, at least with some people if they have the shared vision and shared drive. Iíd love to hear from some people that have made it work.
ĎCause for now I agree Lorax that you can get bargains sometimes, but generally you get what you pay for. And if you try it on the cheap keep your eyes open.
It's not just PHP, it's all over the place ;) I use code and snippets from most everywhere it seems - both full applications and details of applications. The reason i can do this is that over the years i have spent considerable time learning different ways to do things (and often learning by mistake ; )
It has saved me from some large-scale spending and at the same time it has given me new knowledge - i've learnt a great deal doing it, so i'll of course recommend it.
>> Just because it's free doesn't necessarily mean it's the best choice for you
I did not see you mentioned security as other than "Ancillary issues" - fact is that some free script sources include security holes that can cause anything from excess load on your server to you suddently being an email relay (and probably most other options as well). Not all of these holes are intended, but i am sure that some are.
For the less experienced it often pays to do some searching for the program name and the words "security", "bugs" etc... and of course to make sure you use the latest versions, as the majority of good programmers do upgrade the stuff they make publicly available. Oh, and if in doubt, post the relevant bits on a relevant forum, ie a PHP-forum or a Perl-forum, often these people are quite nice to newbies :)
fact is that some free script sources include security holes that can cause anything from excess load on your server to you suddently being an email relay (and probably most other options as well). Not all of these holes are intended, but i am sure that some are.
In open source, some programmers are way more proficient than others. There are a lot who are very inexperienced and are doing it to learn. Anyone thinking about using open source on a production site should always stress test it first because it will save you headaches in the long run.
People have to remember those who write open source software do it mainly as a hobby. The quality and support will not be the same as commercial software which is done by full-time paid programmers, documenters, etc. Often times, users forget this and expect features and support at the same level, or even more, than what they would receive if they purchased the same thing at a few hundred dollars. If the programmers want to dedicate more time to improve a product and start charging to help cover their time and expenses, many users will balk at this. Yet, these same people won't contribute their free time to help the project out.
IMO there is no better teacher than open source for quickly learning the ins and outs of a language. Those who cannot keep their expectations within reason for a product basically produced by hobbiests ought to be prepared to pull out their wallet and pay for the higher support level they need.
there is no better teacher than open source for quickly learning the ins and outs of a language
So very true - which is one of the reasons I often force myself to work with an open source option first. Getting in and crashing around with another programmer's code is very instructive on several levels.
Re: Security. I do consider this but only in passing. I have monitoring tools on my website and local computer so I know if any of my software makes any unauthorized 'calls'.
Free software is generally written by those who can afford it ;) Every OS project has leaders who are generally very good programmers and don't accept second-rate code. Sure, some people try to do it to learn, but their patches only make it into production releases when they're good enought.
This is, however, is somehow less true for PHP software, because of PHP's fast learning curve and widespread usage. Os-commerce is a good example of this. Just use Perl, and you won't have to deal with packages writen by beginners ;)
- oh, there are two kinds of free... the "freedom" and the "free beer" - Open Source does not really have to be free in terms of money and i was referring to the beer, so with respect to this:
>> don't think anyone intentionally adds bugs or security holes to their open source software
- i'll counter with "first fix is free" - not all people offering free stuff does this out of plain generosity or good will. That said, Open Source software implies that you can check the code yourself, so that will naturally limit some of this.
>> People have to remember those who write open source software do it mainly as a hobby
I have to say this: I think a lot of people do a great job writing really great software and offering it to the public for (next to) free (in terms of money). I'm greatly in favour of this so-called "Open Source movement", no doubt about that, and i owe a lot of thanks to some of these people.
I'd just like to put up a small warning flag, that's basically it. Matt's formmail is the preeminent example, although i'm absolutely convinced that no security flaws were intended in this case.
>> Just use Perl, and you won't have to deal with packages writen by beginners
Perl has the special feature that it's syntax is highl.. hrm.. extremely (!) flexible. You'll rarely find two 100% identical solutions to the same problem. With this programming flexibility comes also an ability to write code that is practically unreadable. The (in)famous CSS-descrambler was one such indigestible one-liner, just put this into your favorite SE: "MPEG 2 PS VOB file on stdin").
As there are always more than one way of doing things there's also always some parts of code written by another person that will not be straightforward to digest and understand. Although i like Perl myself, with it comes also a complexity that makes it harder to identify potential problems than it is with a more, say structured language like PHP.
That is: Don't try to fit sqaure code into a round hole. Realize that all websites are unique and that some of your needs may require custom coding because no one else has the same needs as you.
Sites running on code that perform tasks exactly as you need them performed run better, are easier to manage, and keep you from getting locked into restrictions placed upon you by the package you are using, i.e. no package X cannot support Y so we can't add Z to our site because it requires Y.
My original intent for mentioning an open source product was as an example of a freebie but the downside is that it requires time and effort to learn and mold into what I want.
Good topic - good point. I'd go as far as to say that knowing when to spend the money - and when not to - is the mark of a professional webmaster vs. an amateur one.
I just spend $30 the other day on a DHTML menu generator program - rather than hack through a ton of code to get one to work. It even generated buttons automatically (mind you it took work to get "good" buttons, but still)... I'm just astounded at how much time and money that $30 saved me, and continues to save me.
One other note, a nod to the poster who mentioned hosting - paying $$$ for hosting does NOT = great hosting. We were paying $100 US a month to one BigName host and it was a total waste. Service wasn't better than at our new $9 a month host. Yes, the small host has had minor problems, but nothing we couldn't deal with, and its a simple trade-off for something that costs less for a *year* at this host than at the BigName host for a month!
That's a good point as well. You can compare the prices to your hourly rates at any point and then calculate roughly how many hours you are likely to spend on the free product.
I sometimes do this and end up taking the free product anyway, knowing that it will cost me more in terms of hourly rates than the price for another product if i was to buy one. When i do this, it's mostly because the free version will give me greater flexibility and/or i'll learn something new, which in turn will add to my skills and just maybe will bring in new work later on.
I'd argue that there are some open-source projects that aren't just hobbies. Linux is a good example as is osCommerce. They both have a dedicated development team. True, they aren't necessarily working on the project every day but they take their work seriously.
I didn't mean for the word hobby to come across as being non-serious. I meant it as being something done in one's free time and not as a full-time paid job. Many people like to play golf, go to the movies, or whatever in their free time. OS programmers like to code in theirs. You already pointed out Linux and OSCommerce, but I would say most open source programmers take this "hobby" very, very seriously. Some software is equal to or even better than it's commercial counterpart. A lot of the programmers though are inexperienced and use this avenue to experiment and learn. That is why you'll also find some very rough OS software too.
The point I was trying to make was users need to keep realistic expectations. In most cases, OS programmers are not getting paid at all with work being done in their free time. Those who need a higher level of support, documentation, or whatever should be pepared to pay for it whether it be to people in the OS or commercial world. If everyone who uses OS software would contribute in some way, then almost all projects would be equal to their commercial counterparts. The reality is only a small percentage of people give back.
Blue sky, if you think that open-source software is generally written by less inexperienced programmers that commercial software, you probably never bothered co compare. Free software is generally written by those who can afford it ;) Every OS project has leaders who are generally very good programmers and don't accept second-rate code. Sure, some people try to do it to learn, but their patches only make it into production releases when they're good enought.
I don't participate in OS myself, but very often I look through the sources of packages I'm about to compile. I can't see how well these are engineered, but the code is always professional (not so with closed sources I've seen enough of).
Call me stubborn, but I really don't see any projects that shape the face of OSS where people are "very inexperienced and doing it to learn". Ever tried to get your patch accepted into production release of, say, Apache or MySQL?
As to taking courses on software design, I've been taking them for years on a daily basis way before I heard the words "open source", so I can't really benefit from your advice.