FAQ

"I want to use code XYZ in my project, what are my requirements for doing that?"

Well if you look at pretty much every bit of code up on the site, you'll notice that there is no license, no comment section with a long legal preamble, etc. Because, to be honest, I don't care (which is odd since I'm married to a lawyer). All that I ask is you mention me somewhere as original creator/poster of the code and a link back to the site. Other than that, it's completely free to use.

You may be asking yourself why would I not publish the items under, say, the GPL? To be honest, the GPL is way too stringent. I don't like the free software movement the way they state it. I want people doing open source, closed souce, etc. to be able to use my code/software. And if you find a really cool use for it, I'm even ok with you making a couple bucks from it. This basically means the GPL is not a possibility for me (even the LGPL is a stretch). On the other hand, I do like the BSD license as well as MIT and any large project that I post here will probably use one of them (or some variant). But for the smaller bits of code, the mention/link will do.

The only bit of legal jargon I'm going to put up about those smaller bits of code is this:

ALL SOFTWARE ON THIS SITE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Why did you use X when Y is better/more efficient/already a part of .Net?

I've been getting this question more and more as time goes on. I should let you know now about a dark secret that I have... I like to reinvent the wheel. Not when I'm at work though, I mean in those cases I just want to get the job done in the most efficient manner possible. But in my free time, creating that oblong wheel gives me a rush. Well, perhaps not a rush, but I enjoy it. Well sometimes I don't really enjoy it, but I learn from it. Sure it's not quite as round or as strong as the ones already made by others but it helps me become a better programmer. I mean why did I create an ORM when Linq and NHibernate are there? In that case I was just bored (I get bored fairly easily). But I taught myself some uses for expression trees, improved some of my SQL code, etc. and hopefully someone else read the code and learned something from it as well. So if you stick around, you're not going to find code that makes your coding life that much easier but you might learn something.