Legal Issues with Software

Saturday, 2005-04-09; 21:39:00

One of the most annoying aspects of creating software that you sell and distribute (whether or not you distribute your software for profit) is that you always have to watch out for the legal implications of some of the features that you add into your software. I've run into 2 snags very recently that have hampered me from releasing software with enhanced features.

The first one was originally slated for the release of Memory Usage Getter 2.5. Over the course of the years that Memory Usage Getter has been out, there has always been one snag that has some people scratching their heads: the fact that Memory Usage Getter requires a couple command-line programs to function, which come by default installed with Mac OS X on every new Mac.

The problem is that all Mac OS X installations don't actually include these command-line programs. If, for whatever reason, you do a clean install of Mac OS X from your Mac OS X CDs, you can uncheck the "BSD Subsystem" package. Doing so means that Memory Usage Getter will not function correctly on your system, and I've gotten a lot of e-mail about this same problem.

The reason that I've never done anything about this problem until recently is that I didn't know exactly how to include these command-line programs with MUG. However, in developing MUG 2.5, I did the necessary research, and figured out how to do it. (It's relatively simple, but I was just lazy, and even though I've gotten e-mail about the problem, it wasn't really that big of a deal.) So I was planning to release MUG 2.5 that was self-contained, and would work on any Mac OS X system.

The best part about that is that I wouldn't have to worry about different output from the programs on different Mac OS X system versions. For example, the command "ps -auxmww", when put in the Terminal, will give different output depending on whether you are running an early version of Jaguar (less than 10.2.8), or whether you are running Panther. Specifically, an extra column of output would be included in the 10.2.8 and Panther versions of ps, so I have to compensate for that when programming MUG. Including the command-line programs within MUG's application package will ensure that the output will always be similarly formatted.

The legal problem is that I'm not sure that I can actually distribute these programs with MUG. They're not my programs, and I'm able to access them and use their output because I just access them through Mac OS X's command-line interface. So there's no problem when doing that. (Because Mac OS X includes and has a license for the programs, I don't have to worry about it.)

However, if I want to distribute the programs with MUG, I would have to worry about how the programs are licensed, and make sure that I'm complying with the license. So for this reason, I had to revert back to the old way of accessing the command-line programs in MUG 2.5, and so it suffers from the same problem.

The other legal issue that I recently ran into is with my new, unreleased program called CDDB Lookup Helper. I've mentioned it before -- what it does is it accesses the CDDB database in order to correct the ID3 tags of your music as you play it.

[TANGENT: CDDB Lookup Helper is extremely useful. It used to not be, because you had to manually initiate a search for each song. Now, though, it's semi-automatic. It checks for the currently playing song in iTunes every 5 seconds, and if it finds a new song, it initiates a lookup, and displays the information in a little dialog. (It bases the search on the ID3 tag data that you already have -- if you only have the track name and artist, it searches for that. If you have the album name as well, it uses that to narrow down the search. You can access the music search form that CDDB Lookup Helper uses at the Gracenote website.) It also displays what ID3 tags you already have in iTunes as well, so you can quickly compare the information. If you want the information from the CDDB database transferred to your ID3 tags, you just click "Approve". I've corrected the ID3 tag information on SO many of my songs using this utility.

Here's a screenshot of CDDB Lookup Helper's floating window:

CDDB Lookup Helper floating window

For reference, the reason I created this utility is two-fold. First, I'm a perfectionist, so I like my ID3 tags to be correct, and I absolutely HATE it when they have incorrect or even just incorrectly formatted information. Secondly, you can use correct album information to automatically download album covers and transfer them to your song files using software like Sofa. So it is actually in your best interest to have correct ID3 tag information.]

Anyway, take a look at Gracenote's Terms of Use. Specifically, this passage:

"This service is provided for your own personal information and use only. You may not make commercial use of the Site, any Content, or anything that you obtain from this Site."

and this passage:

"Your link to our site may also allow your users to query the CDDB database, but you may only do so by using our published query interface (described in You may not filter or reformat or otherwise alter the resulting HTML response to the query. You will also be subject to the restrictions that prevent you from framing the Gracenote site (discussed below)."

Because CDDB Lookup Helper basically filters and reformats the HTML response into a readable form and prepares it for transfer into iTunes, it violates Gracenote's terms of use, and so I won't be able to distribute CDDB Lookup Helper at all. I can apply for a license, but I'm not sure if that will help any: first of all, it'll probably be expensive and not worth it. Second, the usual way that programs access the CDDB is by calculating a unique ID for a CD that you insert, and then lookup the CD information that way. If you don't have a CD, you usually don't access the database. So even if you license, you may not be able to reformat the HTML like CDDB Lookup Helper is doing right now.

I could use freedb, but their web-based interface is horrid, and there doesn't seem to be another way to search for album information without having a unique ID calculated from a CD that's inserted.

So I'm kind of stuck. I can use it for my own use, but I don't think I can release it, legally speaking. It's frustrating too, because I'm sure there are other people out there who would make use of such a utility. I mean, for me, it's already been extremely useful.


Technological Supernova   Unfiled   Older   Newer   Post a Comment