[...]
>> Given that it's customary to use a context-bearing diff (either -c
>> or -u diff(1) options) when publishing patches, it's expected that
>> the change as published would include a portion of the code covered
>> by the agreement. And as the agreement effectively disallows for
>> these portions to be distributed to unidentified parties, the usual
>> means of patch distribution (as in: putting one on a public Web
>> site, or posting to a newsgroup) instantly do not seem appropriate
>> any longer.
> Ah - so that's what you meant with your comment about diffs! I'm not
> a lawyer; I'm not sure whether your interpretation is correct.
Neither am I... and neither am I. I guess that it may fall
under fair use, but as I'm not a layer, I'd certainly appreciate
for the license to clarify this point. Like the GNU GPLs do.
Then, however, every version of GNU GPL allows for "unaccounted"
distribution of the works covered. And I'm unsure if it would
even be possible to devise a condition which would allow for the
patches to be distributed freely, yet forbidding the same for
any "substantial" portion of the code.
> However, if the diffs you want to publish involve corrections to code
> I'm responsible for, I'd appreciate it if you would at least send a
> copy of them to me, so I can decide whether I want to incorporate
> them in future versions. If so, I'll give you proper credit in the
> check-in comments.
That's certainly an option.
However, I am (or at least was) interested chiefly in the latter
stages of the processing. Not to mention that some changes
were, well, not unarguable improvements.
For instance, having found that there're /two/ versions of the
ancillary data format used by mod_pr07 (unless I'm confusing
them, -- one for the newer ancillary data for MODIS/Terra, and
the other for the older, MODIS/Aqua, one) -- and thus /two/
versions of mod_pr07 itself, I've made quite substantial changes
to the loading routine so that it'd handle both formats.
Also, I've replaced the pure-Make build systems of several PGEs
with ones based on GNU Autotools, mainly as this matches my
habits better.
I still believe that these changes might have be of some use to
the community, but I'm unsure if I'd like to go through all the
hurdle of asking everyone interested to sign the license first.
One another way to go would be to open a "community section" at
MODAPS, for the registered users to exchange their patches, etc.
>> BTW, do I understand it correctly that C6 output can be fed into the
>> later steps of a C5 processing chain? (ISTR that C4 and C5 weren't
>> all that compatible.)
> We didn't change the format of any existing feature of the product
> files, we just added new features, and improved the calculations used
> to determine the actual contents of the files. Since HDF allows you
> to access individual components of a file without needing to know or
> care about any other components in the same file, I would have given
> you an unqualified "Yes" to that question, if it had not been for one
> bizarre problem that was brought to my attention.
[...]
ACK, thanks!
> I've learned something on this project that would have seemed
> counter-intuitive to me when I was fresh out of grad school: don't
> perform input validity tests on features of the input that don't
> actually matter to your code - all that those tests do is make it
> more difficult to reuse your code in a context where those validity
> tests are no longer relevant, and such a context will usually come
> up, sooner or later.
Yes.
[...]
>> Strangely enough, ISTR that in c. 2009, when I've been reviewing the
>> changes between the PGEs (as were available from MODAPS back then)
>> and SeaDAS (one of the latest versions, IIRC), the changes seemed
>> fairly marginal. And neither I seem to recall any "heavy
>> modifications" on the SeaDAS side.
> I don't pay much attention to SeaDAS; the last two times I checked
> were in 2007 and 2010; each time they were running a version of our
> code that was more than three years out of date.
> Several organizations distribute modified versions of our code; I may
> be remembering a different distributor. The modifications I'm
> thinking about mainly involved dropping the use of a third-party
> library that our code is required to use; they replaced calls to
> functions in that library with code intended to serve a similar
> purpose (except when the original code did something they had no
> interest in, in which case they just commented it out).
If the third-party library means SDP Toolkit specifically, ISTR
that they rather included its necessary parts into the code they
distribute. (Or I may be confusing them with IMAPP...)
> It looked to me like keeping their version synchronized with ours
> would have been a maintenance nightmare, which would explain why they
> were 3 years behind us. Had it been my responsibility, I would have
> simplified that nightmare by creating an emulated version of that
> third party library - but possibly that would have run into
> intellectual property rights issues.
FWIW, when I've asked the SDP Toolkit maintainers about the
license, they've replied that it's in the public domain. Thus,
unless there was a miscommunication of some kind, I'd rather
advocate using SDP Toolkit -- which seems a surprisingly sound
library -- directly.