Everything I know about Python...

Learn to Write Pythonic Code!

Check out the book Writing Idiomatic Python!

Looking for Python Tutoring? Remote and local (NYC) slots still available! Email me at jeff@jeffknupp.com for more info.

Contribute to an open source Python project for reviewing open source Python projects

When I announced on the blog that I would, in order to provide free exposure, review open source Python applications readers sent in, I figured I would receive a half-dozen or so. I was wrong. To date, I've received 22 requests from creators of open source Python projects. The size and scope of these projects range from the just-released, one man side-project to mature, multi-author behemoths. I couldn't be happier.

That being said, I didn't exactly properly plan for a response like this. I figured I would toss some reviews up on the blog and be done with it. While reviews will still appear on the blog, their true home will be a new site: reviews.jeffknupp.com. It's powered by a small Flask application I wrote over the weekend (and it shows). While the application meets my bare minimum requirements, it lacks a number of features I think would be useful.

Rather than do it all by myself, I decided to perform an experiment I've been thinking about for a long, long time. In fact, it's less an experiment and more of a fanciful dream of a world where programmers work together and lend a hand when they see the opportunity.

I'm going to see if my readers can work together to create an awesome open source web application.

Think of the project as you would any open source project; it needs contributors. The git repo for the project is open for contributions at www.github.com/jeffknupp/review. The basic structure of the project is there and the application is functional, but there are loads of ways to improve and enhance it. If you've never contributed to an open source project but know a bit of Python, this is officially your chance. I know for a fact there are issues that can be resolved in five minutes or less. And if you contribute, I'll add you (rather, you'll add yourself)to a CONTRIBUTORS.txt file, listing the names of everyone who has contributed to the project.

I'll accept any reasonable pull request, even if it's implementing features I didn't ask for or fixes bugs no one knows about. In fact, for new features (not changes to existing code) I'll accept pull requests whose code I know to be of poor quality. My hope is that the "community" will make things right. The code-base is small and straightforward, so anyone with a bit of Python knowledge can contribute something (documentation included!).

My dream, naive as it may be, is that people find the project via the review site or this blog post, think of some feature they'd like to see, and take the time to implement it. In the process, the site gains cool features and emerges as some super-awesome butterfly, transformed from its current, moth-like state.

Note that I fully expect that no one will contribute. And I'm not saying that in that cloying way where I really do expect people to work on it, wink wink. I really don't expect this to happen. But I like to think we live in a world where it could happen, and, c'mon, you never know!

Note that I'll be continuing with the review project even if no one contributes to the app behind it. My work on review-writing will not be impacted by a lack of contributions to the app. I'll be working hard on them regardless.

If no one contributes, that's OK, because the site is functional as is. People who are looking for projects to contribute to, well, they'll be staring at a list of possibilities. Rest assured I'm locked in my lab furiously reviewing projects. The first batch of reviews should go up later this week.

The git repo for the project for the project is open to contributors and I've populated the issues page with a wish-list of sorts. If you're reading this, it's already ready to receive contributions. I'm hopeful that someone does contribute, and I would love for the project to be self-sustaining. But I don't really think it will.

Prove me wrong.

Posted on by
comments powered by Disqus