On the Sharing of Free Software

Hi, loyal readers. I’m still here. Last week was busy at work, and getting up at 3:30am tends to make my evenings shorter. Any time I’ve had, I’ve been working on writing a Java utility to help with naming and sorting my pictures. It’s always a battle between finding time to write blog entries and finding time to write code. I like doing both, but writing articles tends to crowd out programming time. It hasn’t been as often that writing software has crowded out blogging time. And since I really want to write free software as well as write about it, I’m going to have to work on that balance.

The Good Day Cafe

I’ll be sharing my program here, with some trepidation. It’s not perfect; nothing ever is. I always imagine writing some elegant and beautiful work of art, but the words on the page never match up with that ideal. Even if posting software here won’t result in that much exposure, it’s a risk all the same. There could be condemnation, shame, and catcalls. You name it. But perfectionism is the enemy, so I try to keep plodding along. Trying to ignore the voices that tell me it’s not any good.

I take pride in my work, but I also make tradeoffs. For many utilities that I want to write, I just need something that gets the job done, and crude and quick is better if I can then move on to some other task. Some practices I know aren’t recommended but I don’t care if it’s in the service of keeping things moving. Well, I do care, but I try to quiet the protesting voices. Other things I’m just flat out ignorant of and would love to know better ways. But again, in attempting to get a job done sooner rather than later, I’m willing to go with sub-optimal solutions, and leave it to experience to teach me better.

I always write — whether it’s software or prose — with an invisible someone standing over my shoulder, judging me. Writing software is so much like writing prose. I’ve wanted to be a fiction writer for much of my life, and have read a lot of articles and books about it. It seems to me that writing avoidance and fear of criticism play a big role in each. In both activities, your work is all there, raw on the page to be shredded mercilessly. A lot of prose writing advice can apply just as well to software. For example: it’s often better to publish and move on to the next thing rather than endlessly polishing your pearls. You can learn faster by finishing a project and then moving on to the next. What you didn’t know this time, you’ll pick up eventually.

So then, why publish these kinds of personal applications at all? Why not just write and use them for myself? Well, I think it’s good to publish. If you write with the intention of sharing your work, it may help you write better code. And there’s always the chance that someone else may find your work of interest. I invested many hours in this utility. Thanks to the miracle of electronic bits having zero marginal cost (more or less), that work can now be infinitely replicated. Why not put it out there where it might find an audience?

Above all, I want to help build the free digital commons. This current application may not amount to much, but the next one, or the one after that, might. If I don’t get over my fear of posting code, I’ll miss my chance to participate.

You don’t have to be an alpha geek to enjoy programming and contributing to the free software community. I’m going to try putting my worries aside, and just share what I have, hoping that someone may find it useful. The Internet is big: there’s plenty of space for another page and another program. And every program that is free software, every page that is part of the free culture, is another brick in the future that I want to see built.

If you enjoyed this article, please subscribe for free!
Via the atom or rss feed, or enter your email address to get updates when new entries are posted:
(Your email will not be shared nor used for anything other than sending new posts. See the policies page for more about subscriptions and privacy.)

You can skip to the end and leave a response. Pinging is currently not allowed.

No comments yet.

You can follow any responses to this entry through the
comments feed.

Say Your Say

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

By submitting your comment here, you agree to license it under the same Creative Commons Attribution-ShareAlike 3.0 License as the movingtofreedom.org web site. Please see policies for more information about comments and privacy.