[time-nuts] Brooks Shera

Arnold Tibus arnold.tibus at gmx.de
Mon Mar 25 14:03:23 EDT 2013


I  am deeply affected by Brookes Shera' s death. 
Years ago I had only a few mail-contacts with him and he's been very
helpful and friendly.
I believe that he would have assisted to introduce improvements and
further details in his design if he would have been able to. 
He did provide me the source code of the older version 1.28 and the bin
file 1.33 under certain restrictions. I promised to respect his conditions.

His personal written words were (as direct copy):

> Hi Arnold,


> Good to hear from you again. I saw your message on timenuts and
thought I should reply. I have sent the source code to many people. But
I do ask that they agree to my little request:



>> ***** For people that request the source code I have a standard request.


>> ----------------------------the standard request---------------------



>> Thanks for your interest in the source code for the PIC processor used in

>> my gps-disciplined frequency standard (QST, July '98). I am happy to

>> provide the source for its possible instructional value or as a basis of

>> further experimentation.


>> The code is PIC assembly language but it is highly commented so even if

>> you are not very familiar with the PIC instruction set or architecture it

>> may be possible to follow the logic of the code. To make this a little

>> easier I have written a short description of the software.


>> At the moment I have no plans to commercialize the code or the

>> controller, however I have invested quite a bit of time in its

>> development and I want to preserve my intellectual property rights to the

>> design.


>> Therefore, I can provide the software to you with the following

>> restrictions.


>> 1. The code will not be used in the development or implementation of a

>> commercial product.


>> 2. The code is exclusively for personal use and will not be distributed

>> to other individuals.


>> 3. Useful modifications or enhancements to the code will be shared with

>> me, and in binary form with the community of amateur

>> experimenters. Such modifications include translation of the PIC code to

>> run on other platforms.


>> If these conditions are acceptable to you please send me a note that

>> includes the above three restrictions. I can e-mail you a zip-compressed

>> attachment that includes the source code and the description mentioned

>> above.


>> I hope you will understand my motivation for these restrictions, which

>> arise from the somewhat conflicting desires to make the code widely

>> available to encourage further experimentation while preventing

>> commercialization of it by others.


>> Regards, Brooks

>Hi Arnold,

>I am attaching the source code and a notes file that is a bit out of
date but it explains the overall organization of the code. The asm file
is fairly well documented also.

>Let me know if you have any questions, and have fun.


I think that this is still valid in case he didn't express a change,
and it should be respected.

But I am as well interested that the development based on his design
does continue and improvements will be and introduced.
Unfortunately I have no skills in programming and microprocessor design.
I am convinced that out there are a lot experts in the group well
capable to proceed in Brookes' mind.

Have fun, as he said,
we will miss him,
kind regards


Am 25.03.2013 14:36, schrieb Jim Lux:
> On 3/24/13 8:22 PM, Chris Albertson wrote:
>> On Sun, Mar 24, 2013 at 7:34 PM, EB4APL <eb4apl at cembreros.jazztel.es>
>> wrote:
>>> I wanted to build a GPSDO using the Brooks Shera design since I read
>>> the QST
>>> article.  I asked him in Jan 2009 about his source code, because I
>>> wanted to
>>> change the PIC to a more modern one and add some functionality....
>> This is a perfect example of why people need to publish the source.
>> Make it GPL or whatever.
> That's a decision that the author gets to make.  I've been on both the
> supplier and consumer side of that aspect. Sometimes I've published
> source, sometimes I haven't. There's a lot of factors involved, and
> the consumers need to respect the author: only the author knows all of
> them.
> One reason is that if one DOES release source, one will wind up
> supporting it, because generally, we all nice people and helpful, and
> it's hard to tell someone no when they send an email asking how to get
> it to compile on Version N+3 when you used version N, etc.  This can
> be a real distraction from whatever else you are doing.
> One also DOES get a remarkable number of abusive emails when you don't
> provide support and you nicely tell them that. I guess, the first one
> is remarkable, after that, you go, "some people are just jerks" and
> let it ride.
> And then there's the folks who argue with you about your
> implementation or coding style. "I've rebuilt your program using .net
> 2.0 and C# instead of VB6". This is a real quandary.. On the one hand,
> you have no desire to support this offspring, but on the other, you
> would like credit for the underlying algorithms and initial work.
>  But the version that was posted to this
>> thread is close enough to the final version and it is easy to modify
>> any why you like.
>> I was going to build one of these too.  Then I found out about a
>> PIC-TIC which is quite a bit better at measuring the phase difference
>> and today we have better parts and cheap FPGAs.  The value of the
>> Shera design is that it is simple enough to study and understand and
>> then go build something that builds on Brooks' idea.  Now that you can
>> read the code and see the schematic people can study this for years.
>>> https://sites.google.com/site/bshera02/software
>>> and
>>> https://sites.google.com/site/bshera02/software2
>> This is another example of a dead-end project.  No source code.  You'd
>> have to start over from scratch to make even the smallest change (such
>> as getting it to run on a new version of the OS or an iPad or
>> whatever.)
> The algorithms are well known and understood, and not very complex.
> Perhaps starting from scratch wouldn't be a bad thing if you're going
> to an entirely new platform.  What works well in a dedicated
> microcontroller may not work so well in a multithreaded smartphone or
> media display device.
> I've been fighting a problem with what I thought would be a trivially
> simple web browser user interface.  Turns out that modern browsers are
> entirely too smart, and it's very difficult to force the browser to
> not cache an image (e.g. I have an IMG tag pointing to "image.jpg" and
> I want to have it pick up the latest rev whenever the page refreshes)
>  (Firefox is what I'm using, but they all have peculiarities)
> The point is that when you move to a qualitatively different platform
> (e.g. not just changing from a PIC model X to a PIC model Y), some
> architectural thought might be useful.

More information about the time-nuts mailing list