Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Do you think a re-distributor providing full source in a weird archive format is complying with the GPL?

This project is GPLv2 based on the earlier vMac emulator but it provides the source exclusively in mac disk images. While after jumping through some hoops you can eventually access it on most platforms or use a Linux LiveCD to extract it and translate it to some open format it seems to go against the requirement of providing usable source code.

Even if this particular example was fine. Where does one draw the line? What's to stop a malicious vendor from distributing their modifications to busybox in WordPerfect format? Photographs of ENIAC punchcards in Deluxe Paint format? Or, ultimately, some ad-hoc format nobody can read?

share|improve this question

From the GPL:

The “source code” for a work means the preferred form of the work for making modifications to it.


The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.

Those are in there to prevent abuses of unreusable formats. If your own programmers don't use photos of ENIAC punch cards to do their daily work, you can't redistribute the source that way.

share|improve this answer
I thought this was to stop you distributing the source code but without some special def/linker files you couldn't build it - as in a Tivo or a lot of embedded platforms – Martin Beckett Feb 26 '11 at 17:49
@Martin, you're right about the general effect of the "corresponding source" part and its most common abuse. I was mostly concerned with the "preferred form" part here. The "corresponding source" part is necessary, however, so you can't claim that you have a proprietary tool that can edit and compile photos of ENIAC punch cards just fine without distributing that tool as well. In other words, "corresponding source" makes "preferred form" enforceable while still allowing companies to use custom tools. – Karl Bielefeldt Feb 26 '11 at 17:59

The source is in C and contains all the required files. mini vMac devs do use hfs, and firmware vendor EvilWireLeast could very well be using EvilWireLeast format internally if that was really a requirement.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.