[clean-list] Communicating with other programs

Monique Wittebrood & Marco Kesseler m.wittebrood@mailbox.kun.nl
Sat, 17 Nov 2001 22:27:25 +0100


Hi Diederik,

first of all, it is not my intention to provoke annoyances. Perhaps Brian
words were too strong, but I do think he does have a point. Please try not
to dismiss them as an annoyance, but try to understand.

Diederik van Arkel wrote:
> I believe it has been made clear already that the sources for the Clean 2.0
> compiler will be made available.

I will come back to this later

> Apart from that compiler sources are
> irrelevant to the porting of the Object IO library. This is (just?) a
> question of porting the existing and available source code to a suitable
> GUI library under Linux. There is no difference between the existing Clean
> 1.3 compilers for Windows, Mac, and Linux. I agree that neither Peter Achten
> nor I are inclined to take the lead in a Linux port but we are certainly
> willing to assist if and when somebody takes this on.
[...]
> Now this is what gets rather annoying. An open source compiler has nothing
> to do with porting libraries so this is a straw man. As far as I am aware
> the only significant difference between the Windows and Linux distributions
> is the availability of the ObjectIO library and the Clean2 ide. Porting
> these is not rocket science, just plenty of work for which the Clean team
> cannot find the time or the justification.

Technically you are completely right: the compiler sources are irrelevant
for porting the IO library. And it is understandable that you do not have
enough resources to do the port yourself. But look at it from a user
perspective:

- Most users do not have enough resources to start such a thing either. So
  don't be surprised if you encounter some reluctance.
- You do support the IO library on Windows and Mac. But supporting even
  a single full-blown IO library is not academic work. I think it is
  completely understandable if the Linux folks start to complain a bit,
  or at least question your justification.
- People are not going to build a house on quicksand. Even if you promise
  that the compiler on linux is not worse, the lack of other support does
  send a signal. Users want some kind of guarantee that their Linux efforts
  do not go down the drain some day. Having the compiler sources helps.
  Lack of those can be enough to look somewhere else.
- The outlook of just doing a port may not be challenging enough. If one is
  going to put significant work into Clean, one may just as well take up some
  more interesting parts. One may want to provide (IO-related?) language
  extensions for example. For this you need compiler sources.
- Users have alternatives. They are not interested in Clean at all cost.
  An IO library for a single platform is a selling point. A cross-platform
  IO library is a strong selling point. Why should users implement this
  themselves? Why not shop somewhere else?
- There is a sense of 'fairness' in 'we write the libraries' and 'you open up
  the compiler'.

> On a more general note: Clean has more features and capabilities than are
> generally announced. This is because we are unwilling to mention them before
> they are fully developed and tested.

This is part of the problem. If you want involvement, you should be more
open. I understand if experimental stuff does not make it into an official
Clean release, but if this is not about yet-to-be-published scientific
progress there really is no reason to keep it from discussions, or from
intermediate developer releases of (yes) the sources. Apart from that I
find it slightly patronising to keep things silent.

Speaking of sources; I promised I would come back to this. Okay: the
sources of the Clean 2.0 compiler will be published.
- What about the code generator (written in C)?
- This was promised long ago. I can't remember when I first read that the
  2.0 compiler was about to be delivered. This - and the silence in
  general - makes people all the more nervous whether this is going to
  happen at all. If you cannot keep up to your promises, people are going
  to get really sour about all the effort they have put in say an IO
  library for Linux. In other words, they are not going to start their
  fancy project without the sources. Moreover, if they have to wait too
  long they will forget about their Clean project altogether.

Consider this: suppose that Clean 2.0 arrives tomorrow, together with all
its sources. Are you going to guarantee that these sources get updated
frequently? Because that is important in open source: frequent updates.
Knowing what 'the others' are doing, and what their progress is, so you can
plan your own work. Never mind that this means that some non-perfect code
arrives in certain development stages. Developers need to be on the
bleeding edge.

And after you have considered this, is there any reason why these sources
are not here today?

regards,
Marco