Contribute to open source, get a shot at a free book
General, Reading By Dave Ward on September 9th, 2008I know I’ve been teasing you for weeks about this contest, but it’s really here now.
Adam Calderon and Joel Rumerman have generously provided three copies of Advanced ASP.NET AJAX Server Controls to give away.
Given the topic of the book, building an ASP.NET AJAX server control seemed like the perfect way to give the book away. So, that’s what we’re going to do. We’re going to build a free, open source server control on CodePlex.
About the control
The server control that we’re going to build is a username availability validation control. That’s a mouthful, but the premise is simple. As a new user completes a registration form, our control will asynchronously validate that their chosen username is available and provide inline indication.
Features will include:
- Automatic validation of the username’s availability as the user types it.
- Custom styling of the validation message through CSS.
- Based on BaseValidator, so Page.IsValid and the ValidationSummary control function correctly.
- Choice of validating against either the ASP.NET MembershipProvider or any custom authentication store, via user customized web service.
Win by writing code
The first way to win is also the most obvious. Write some code.
To get things started, there’s a skeleton project on CodePlex. I’ve made a few basic design decisions, but it’s mostly a blank slate.
To flesh out the specifics, let’s use the discussions and issue tracker on CodePlex.
To submit code contributions, use the upload patch feature on CodePlex. I’ll merge your patches and check-in on a daily basis.
Instead of trying to strike a balance between LoC and a dozen code quality metrics, I’m going to make this a subjective judgment. Whoever makes the best overall code contribution(s) to the project will win a copy of the book.
To keep me honest, Adam and Joel have both agreed to join me in judging the code contributions.
Win by contributing documentation
If that sort of coding isn’t your strength, that’s okay.
For this project to be successful, great documentation will be essential. So, one copy of the book will be awarded to whoever makes the best contribution(s) in that aspect.
Usage examples, documentation, live demos, screencasts, and diagrams would all be beneficial contributions. Focus on quality here, especially when it comes to grammar and spelling.
As with the code contributions, Joel, Adam, and I will be judging the winner of this book, based on both quantity and quality.
Win by participating at all
To make sure that everyone has a chance to win, I’m also going to randomly choose one contributor to give a copy of the book to. By contributor, I mean anyone who submits code or documentation or anyone who participates on the discussion or issue tracker.
Additionally, you can enter the contest by writing a short piece about the contest on your blog or website. If you do that and link to this page and the CodePlex project page, I’ll enter you five times in this category.
Rule #7: The contest will go on as long as it has to
The contest will end when the control is fully functional and there have been no accepted contributions for 24 hours.
I want to make sure everyone has a reasonable chance to make their contributions.
Let’s get started
If you have any questions about the contest, feel free to ask here in the comments.
For any discussion pertaining to the control itself, use the project’s discussions section or the issue tracker.
I’ll see you on CodePlex soon!
Possibly related posts
What do you think? Your comments are welcomed.
I appreciate all of your comments, questions, and other feedback, but please try to stay on topic. If you have a question unrelated to this post, I recommend posting on the ASP.NET forums or Stack Overflow instead.
If you're replying to an existing comment, please use the threading feature. To do this, click the "Reply to this comment" link underneath the comment you're replying to.

Your comments
So, is this open to any country or US only?
Any country that I can legally send a book to from the US.
(Though, I don’t promise overnight service overseas!)
Great idea to write a control, except shouldn’t people read the book before writing the control and not after :)
Anyways, I’d love to participate, would be a great learning experience.
Dave, can I participate?! :-) Looking forward to seeing the entries. I might have to spin up a control to see what I would come up with.
If you run into trouble, I know of a good book that might help!
Hi,
How do I enter my name in the contest? I’ve spoken about this contest in my blog and hope to contribute code &/ documentation as well.
http://abjbhat.blogspot.com/2008/09/im.html
Hi Dave,
Please continue this great work.
Hi Joe,
I’ve posted this on my blog. Give me 5 entries in the contest.
http://weblogs.asp.net/pmandayam/archive/2008/09/11/win-a-free-ajax-book.aspx
Not to be a stick-in-the-mud, but, winning a book about writing ASP.NET Ajax Server Controls, seems a bit malplaced.
If you can write one, why would you need a book about it? :S
I don’t think so. Just because you can write one doesn’t mean you know everything that’s in the book! I think it is a fitting prize since it’s all about AJAX.
I don’t think it’ll be an issue. This control is relatively very simple, and you’ll have my and Joel’s guidance.
If you’re interested in the topic or in improving your skills, but are worried about difficulty, don’t worry. Everyone will be able to participate in some capacity.