What a great time for open source. Thanks to these marvelous tubes that we call The Internet, there are now uncountable tons of great libraries, frameworks, gems, answers on stackoverflow and more that you can use to add features and functionality to your project quickly and easily.
Unfortunately, a lot of these bits of code and approaches come with their own problems as well. That’s only fair, and to be expected. But the real problem is that most times the author does not disclose these problems. You’re left to discover them—painfully—on your own, or gripe about them in a forum along with other users.
So I put forth a modest proposal. All code you use (be it open source or other) should be subject to similar truth in labeling as we see on pharmaceutical products. You know, the ones where the possible side effects for a headache tablet include headaches, dizziness, and sudden death. That sort of thing.
I won’t name names, but thinking of some technologies I’ve used lately, a few common warnings come to mind:
- Warning, may cause code bloat and gas.
- Use only in iterative environments.
- Do not use if you have a history of procedural programming.
- When used with dual-MVC, may cause confusion, blindness, and death.
- Must be used in the presence of an actual architecture.
- Use on Microsoft operating systems may cause nausea and headaches.
Got any others? Comment below or on twitter (I’m @PragmaticAndy).