Re: [NTLK] Open Sourcing ATA Support (was Re: Experiencing Serious ATA 1.0b8-D Data Corruption ...)

From: Adam Warner (lists_at_consulting.net.nz)
Date: Mon Oct 22 2001 - 08:54:20 EDT


Paul,

> About the revenue. For this project (and for any other Newton
> project), I don't think that the shareware or whatever revenue we can
> get (including some models you suggested) would cover the actual
> cost.

Of course. This is a labour of love. It's a market with only a small
number of enthusiasts on what is currently a dead-end platform.

So answer this: what would you consider reasonable revenue under the
shareware model? If revenues were your only concern all potential users
would have to do is match the discounted sum of those revenues.

> I know I already said this, but if I wanted to make money, I
> wouldn't write programs for NewtonOS. I'm sorry to say it, but I
> think this is true for any shareware author, on whatever platform.

Unlicenced copying is happening from one quarter. Burgeoning high
quality free software from another.

> And in
> the case where I really need money (for the moment, I'm looking for a
> way to do a PhD in one of the top four US universities for CS),
> shareware revenue will of course not cover it.

I think we can safely assume that is the case ;-)

> Anyway, I think that everyone who is still making money out of Newton
> software (I'm thinking about Steve Weyer and John Del Pizzo) will
> agree with that analysis. And this is positive for your proposition
> because maybe open sourcing reduces development costs (but it very
> likely increases technical support costs), but it's sure that it
> reduces sales, even with asking contributions as you suggest (well, I
> could open source the ATA driver and keep the transactional
> persistent object store closed, I know a company which do that, but I
> can't recall it's name, I think it sounds like a grocery shop).
>
> I am not sure in your suggestion, if I should release the source once
> it is ready, so it doesn't reduce development time, or if I should
> release it now.

Neither. I was suggesting when you considered it was ready to be
released.

But now were are getting onto the red herring. First you outline
existing people who could potentially help. Fine. It's a small group. It
misses someone else that might enter the Newton community and be skilled
enough to hack the driver but this has a low probability of occurring
given the platform.

> Let's consider the latter, since the former doesn't
> bring any advantage of open source.

That's wrong. Users get the benefit of an open source ATA driver for all
time. They can buy another second hand Newton and the driver will just
work. No need to obtain another license code.

Development costs won't be any higher if you open source the driver. You
don't have to talk/give time to people that are trying to demand your
attention.

You've tried to show how open sourcing the driver could divert other
Newton developers from what they are doing. I suspect you're not giving
them enough credit. I suspect they will tell you that they are capable
of deciding for themselves whether they may wish to look at the code.

In summary: Open sourcing the driver will not raise development costs.
There's the chance that someone may be also be able to help.

We have user benefits. We have potential development benefits (they are
at least not negative). The other important issue is your revenue
stream. So again, what amount would make that a non-issue?

> I prefer that Simon works on IMAP and other SimpleMail improvements.
> I prefer that Gopi, Laurent and Hiroshi work on the Orinico driver
> (and of course, ATA Support source code may help them in this task,
> but probably less than if I directly give a hand - Laurent accepted,
> no news from Hiroshi, Gopi seems to not have the time).
> I prefer that Harri works on his own project which sounds really cool.
> I prefer that Kip works on reverse engineering the NTK protocol and
> other things with Konstantinos.
> I prefer that Sean works on Waba.
> I prefer that Victor spends the small spare time he has on a couple
> of nice projects the community would benefit at large (including an
> ethernet driver).
>
> And I think that everyone here agrees.

I don't. I think you're looking at this as a zero sum game.

I don't consider it to be a zero sum game. If someone helps you it
doesn't necessarily mean they will stop their other work. You've made
loads of other contributions to the Newton platform. Imagine if you were
free to choose to work on other things. Someone may come up with a
solution that you were stuck on, freeing extra time.

Anyway, I see your contributions to Waba every time I click the about
box. I doubt "that everyone here agrees" that you shouldn't have
contributed because "I prefer that Paul works on his own project." When
it's put that way can you see how it just doesn't make sense?

> Another problem is that although my code is largely commented (you
> can't work otherwise, especially on a long period and on a big
> project like this one), but it is mostly commented in French. In the
> previous list of developers, AFAIK, only Laurent speaks French.

OK. With my rudimentary Python skills I might be able to write a script
that takes each comment, submits it to a translation engine, and inserts
the English translation in brackets (best to keep the original French
comments in place). It wouldn't be perfect but it would probably be
understandable. Finding the appropriate engine interface would be the
hardest part.
 
> ATA Support is nearly finished (at least fully functional). It's not
> like open sourcing something not finished to get support from other
> developers.

There's a chance someone might be able to help. And if not one person
helps in the slightest what would you have lost? (you would still have
received some money from users wanting a fully functional driver to be
released).

This is also the reason why people paying for the open sourcing could
work: They have seen and used the driver. It's not a pipedream.

A fully functional and tested version may be a little futher away than
you expect. You may be the only person in the world who has tested the
ATA driver with full sized stores. If securing the binary was no longer
a concern we could start beta testing the "fully functional" version.

You would instantly be able to throw away beta testing the registration
code. The binary would be smaller. No copy protection checks would be
necessary.

> OK, I know I may seem to say "heh, too late", but I don't
> think that working on that expecially with a big part of reverse
> engineering and hacking would have been very efficient with the help
> of other developers (and actually, I got proposition of help very
> late, and I would have had to explain them what I have discovered,
> how I think things work and so on).

I'm not saying your decision was wrong. It was very specialised
technical and difficult development.

> BTW, who worked on Waba native code? On Hemlock? Who worked on NPDS
> code? Who worked on Avi's Backdrop code?
> In the first case, Sean had to put it open source because of the
> license. But I don't think that things would have been much different
> if it was a closed source freeware.

But for users and other developers the difference is immense. We now
have an open development platform for the Newton.

Users should benefit overall if you open source the driver. And if you
can get some compensation (you knew you weren't going to make a killing
selling shareware for the Newton anyway) you will at least be in a
neutral position (and if someone helps in some way, in a positive
position).

> The original release was made by
> Sean and Steve (they worked together before open sourcing it), and I
> don't recall anyone but I who worked on the code, and I don't think I
> really improved Waba.

Nah. They just put you in the credits for the hell of it :-)

> ... and I think I'm the only one who has
> modified Avi's Backdrop since Avi open-sourced it, although I've read
> here recently that a lot of folks want a feature to have both the
> meetings and the birthdays shown.

And with the source perhaps someone will add that feature some day.

> Also you mention that ATA Support could easily be cracked.

That's putting words into my mouth. I wrote (with a corrected typo. Also
note the word _may_ and no mention of the word "easily"):

"Once you release a fully functional closed source version the serial
number check may be cracked. That could be the end of a significant
amount of your revenues (and how much time do you want to have to spend
on trying to secure the product from crackers anyway?)"

> To be
> honest, I wish it could, because it would mean that there would be
> folks around who have time to waste on cracking a software (and
> therefore probably also on writing some) and who know a lot about the
> bowels of the Newton OS, including task to task communication,
> NewtonOS multithreading, DES encryption and other nice things I have
> discovered and not documented (yet, and only because of lack of time,
> but I documented how to build dictionary packages and AFAIK, I'm the
> only one building them). The protection scheme I have (partially)
> implemented isn't meant to be perfect, just not worth EUR 50 to crack.

OK. You've dazzled me with your protection mechanisms. It's quite likey
it would never be cracked. Perhaps no-one would ever be able to bypass
the protection subroutine. Perhaps no-one will ever obtain a serial
number and find a way to make their model look like that registered
model.

But to say it's "just not worth EUR 50 to crack" omits that people
routinely crack software that is a lot cheaper. But I realise there
would be nothing routine about cracking this driver.

Do you want to spend time on finishing the protection implementation?
Isn't this the reason that no-one has been allowed to try a fully
functional version?
 
> Finally, there might be some legal problem with open sourcing ATA
> Support because I've done some reverse engineering to write some
> dirty hacks and while it is allowed by the French law to reverse
> engineer to interface with a software, it's probably not allowed to
> publish some results in source form.

I don't know French law to be able to comment legally. I can't imagine a
situation where you would be actually affected (Apple going after an
Apple Newton developer who releases a driver for a platform they
abandoned years ago? Highly, highly unlikey. And one of the dumbest
public relations moves Apple could ever make).

I think the sweat and tears you have put into your source is your speech
and you should be free to be able to speak it. But free speech rights
for programmers is a somewhat controversial proposition.

Regards,
Adam Warner

--
This is the Newtontalk mailinglist - http://www.newtontalk.net
To unsubscribe or manage: visit the above link or
	mailto:newtontalk-request_at_newtontalk.net?Subject=unsubscribe



This archive was generated by hypermail 2.1.2 : Thu Nov 01 2001 - 10:02:25 EST