I love picking up scripts, plugins and widgets on the web that enhance the sites I am working on without my having to re-invent the wheel every time. Sure, some of them need a little tweaking to get them to do precisely what I want, but that generally means I can still provide great solutions for my clients far more cost-effectively than if the code were built from scratch.
“When a new car rolls off the production line, the component parts are never created from scratch but are parts that have been engineered for use in earlier models (and cars produced by other companies) and perhaps enhanced in some way to make the car lighter, faster, more energy efficient etc. Why should websites be any different? They too are formed from a collection of component parts.”
Many of these website components are “donated” by their developers, although there are generally conditions associated to the licence granted for their use. Some want recognition by getting their name in lights on your website; others ask for links (discrete or otherwise) to their own websites; some ask for voluntary donations. As a developer myself, I realise the considerable amount of work that goes in to most of these pieces of code. I also understand how much enjoyment can be had from building something that others find useful. I suspect that most users of the code snippets, widgets, plugins and scripts just take them, use them and don’t give another thought to the person who did the hard work – indeed, I have seen many posts on the forums or blogs of these developers where the users, happy to take and use the code, then complain when something doesn’t work quite as expected (even though the developer nearly always supplies it without guarantee).
I am shortly going to start donating more often for the code that I use. This is only fair, and if more people did it, then as well as rewarding the developers for their efforts it would surely encourage them to make their widgets even better. In addition, I hope to feature some of the best widgets that I find – so check back frequently.