Monthly Archives: November 2013

Minor Lesson Today

I know that a lot of people use BWW for writing bagpipe music. But I’m cheap, and I use a Mac, and I tried the demo versions of the music notation software my teacher and bandmates use and I hate them (the programs). Iconoclast that I am, I have chosen to transcribe all my music using ABC notation.

The neat thing about this, for me, is that the files are easily editable with any plain ol’ text editor and there’s an easy command line toolchain for converting the ABC files to PDF. The thing I learned today is that the key matters, not just for the signature at the beginning of a line, but for the way grace notes are rendered.

It’s true that the great highland bagpipe is tuned more-or-less in the key of D, and some modern scores are even written that way. However, when you use that key notation in the ABC file, grace notes are written as being tied to the following melody note, whereas if you note the key as ‘HP’ then the grace notes are unadorned, as pipers are wont to expect. This behavior can be overridden with the format directive:

 %%graceslurs false

License and Registration?

If you read a book about software development or start a repository on github or bitbucket or launchpad, you’ll confront the question of software licensing very early on — likely, before you even get to the question of what development environment you’re going to use. I’ve come to decide that this is not really helpful.

When I worked at startups, the code we wrote in-house was proprietary. We didn’t open source it, although occasionally we would contribute back to some projects. The point of the software team at those companies was to encode the business into bits that customers would pay hard cash in order to execute. We didn’t even think about licensing the software until it was time to think about how we were planning to sell it – a question which depended a great deal on the marketing department and the business in question.

Now, I’m writing software for my own entertainment. If one thinks hard about it, one might come up with ways to make money off of that, but that’s a hell of a lot of work and I’ve got bagpipes to play and tunes to learn and, let’s be real, dishes to wash and goofing off to be doing. My wife is doing amazing things and that’s enough startupness in the house at one time. When I started working on this turn based game server, I thought the way it would go would be to provide the server for cheap (or free) and then the money would get made by developing games that would run on top of the server. Now I’m looking at the software and its possibilities and thinking that the system itself has value to some entities (schools and researchers) and maybe I should think harder about selling it that way.

This decision is kind of important. Right now, I’ve got all the source code sitting in private repositories. It’s copyrighted by me, and it’s not licensed, period. If I were to open source it, that would make selling the server software impractical. The only way to sell open source software is to provide some kind of value-added service on top of it, and that kind of work really cuts into bagpiping. Also, and this may shock some folks, I’m not really very good with people. A service job isn’t one I’m going to succeed in.

If I’d gone with an open source license up at the beginning of this project, there’s not really any way to undo that. So, note to other software developers who like to fool around with code and write stuff just for fun: private repositories are your friend. Write your code, fool around with stuff, refactor and publish to your heart’s content. Then, when you finally get to some point where the license actually matters,¬†then¬†fire up your IDE’s copyright plugin and have it stick whatever boilerplate you decide on at the top of all your files.