KGS client support for Mac OS9

    Keywords: Online Go

Dieter: Old discussion or rant, if you wish, the bulk of which repeats the fragile provider/user equilibrium of free software. To be master edited or perhaps deleted altogether.


AvatarDJFlux: Yes, this is a Rant...
And please spare me with postings of the usual blurb on Windows vs. Mac etc.: we do not have time nor space here for such stupid comparisons/flames/whatever.

Let's go, then.

Although I do not play much on the net, I sometimes enjoyed playing both on IGS and KGS. I was therefore sad to discover that Mr. William Shubert has decided that Mac users with MacOS 8.xx or 9.xx cannot access anymore KGS.

The rationale for this decision has been explained by Mr. William Shubert in a page in the Kiseido web site of which I cannot manage to retrieve the URL (can anybody do that for me, in order to report his exact words?).
In my own words (I'm not an expert of programming stuff...): it seems that Java on those OS is quirky and the client needs lot of work to be maintained or updated. Considering that Apple itself has ceased to develop Java for MacOS 8/9 just to work only on MacOS X.xx, Mr. William Shubert has therefore decided not to bother anymore and to stop working on a client for MacOS 8/9 and that CGoban 2.5.1 can run only on MacOS X. This means that all MacOS 8/9 users cannot access anymore KGS.Full stop.

Now this seems to me a very counterproductive move for a server that aspires to become the no. 1 Go server...
I would have understood a stop to the update or to the development of the client for MacOS 8/9, but a total denial of access is another thing. (Mind you, it may be impossible technically: this I do not know, not being an expert.)
If Mr. William Shubert feels that the job is too much for him, well that shows that he's no professional. If Kiseido is happy to lose outright a whole bunch of players is their businnes, but if they feel that losing even only one player would be a black spot on their brand name they'd better hire some more workers and keep things going.

And still, I haven't seen complaints anywhere: are we this few?
[Short answer: yes]

OK, what alternatives do I have to keep spending some of my time on KGS?

  • Give money to the Devil (B.G.) and buy a PC. Ah ah ah!!! Really! Ah oh oh! Don't you say! Ih ih.. sorry... ah ah can't stop lahhahahughihihing...Uhuhh...Pheww...
  • I am the proud owner of a PowerBook, the black one. It is the perfect computer for my needs. Musicians all around the world know what I mean. Technically I could install MacOS X, but my G3 processor is sort of sub-optimal to run it, better would be to have a G4. All the same, I could make a total back-up, initialise my HD making a second partition and install there (after having shelled some euro's) OS X - all this only to play on KGS. Should I bother?
  • Buy a new Mac: maybe in a few years time...
  • Playing on IGS only.

Guess what is my present choice??!?


Hu: I sympathize with your plight, but you are being petulant and ungracious about William Shubert. It is not a job for him. He does not get paid for it. He has done it for the love of the game of Go. This is a huge donation to the advancement of Go worldwide which has gone largely unremarked. When you say "he's no professional", you are either letting your emotion control your intellect, or you are a poor judge of software. CGoban2 is very high quality in design and in implementation.

Think what you like, but the Mac OS 8/9 is only part of a tiny fraction of the "market".

Dropping support for OS 8/9 was necessitated by the major change of the protocol. Making the code changes in the OS 8/9 code fork and properly testing it for a tiny number of users was not possible or reasonable under the circumstances.

If you really want to direct your anger at a worthy target, direct it at Apple who have not seen fit to fix their Java implementation or to provide a proper one for the OS 8/9, even after these many years.


(Author of kgsueme): Just a note of history. I reverse-engingeered both the old and the new protocol. The only major change in the protocol was the edition of some pseudo-encryption. It didn't add or allow for any new features, the protocol bump was just meant to keep people from reverse-engineering the protocol. Wms wrote this to me in an email a few weeks before the change. Whatever he claims, it was more important for him to exclude me from reverse-engineering the protocol (an obvious failure) then to keep the old macos users (which would have to switch anyway, but later). That something is deeply wrong here can be seen by the need some people (patrickb, see below) feel to spread blatant lies about my person, such as posting obscene material, which is a) totally off-topic and b) quite a lie. Wms, of course, doesn't claim this, but maybe he should hire admins that don't rely on lying to get their point across.


Dieter: Completely, utterly agree with Hu. No need to write what I wanted to write.

(DJ: Oh, just drop me an e-mail, I like to help people express their feelings...) ;-)))

Fork: Last time I tried, KGS ran fine in Linux using the Sun JVM (I hope it's not x86 specific? If so, delete this comment). If you are really desperate, perhaps could install a different operating system on your computer.


mgoetze: I run Mac OS X just fine on my G3 iBook, I think the limiting factor is really RAM, but it should be possible to upgrade for a reasonable price if you don't already have enough. Of course, many drivers for music equipment (e.g. my Roland XV-2020 :/) are not yet available for OS X so you will have to dual boot if that is your main use for the computer... Still, as has been mentioned, WMS is not getting paid to do this and I think it's entirely unreasonable to expect him to put up with an unsupported and buggy implementation of Java on a platform used by an ever-diminishing minority of users.


DJ: Thx everybody for the feed-back.
First of all, one word about using different OS's (X, or Linux for that matter): as I said, I do not play on line very often, and, as I am not a professional KGS player (i.e. I'm not payed to play there), I think that it is not worth the hassle of backing-up, reformatting, re-loading everything, buying and install OS X (for instance), dual-booting, just to play there... In a few years I'll have to buy an new Mac and then I could go back to KGS...

Back to the main topic: I believe that expressing our emotions is a very important thing: it does a lot of good to our mental health, while repressing them can bring to serious psychosomatic ailments (besides, I'm Italian).
Therefore everything is allright: I have showed my emotions, you have expressed yours. And yes, I am a poor judge of software (I have said that twice in my original posting, remember?) and no, I've never said that CGoban2 is not very high quality in design and in implementation.

One thing I want to make clear, though. It seems to me (please correct me if I'm wrong) that especially Hu and Dieter have felt that I have offended Mr. Shubert and not appreciated the amount and results of his donated efforts: nothing is more far from the truth. As long as I was able to play on KGS I had very much valued and remarked what Mr. Shubert has done, and is still doing.
I do have said that he's no professional: it may have been put bluntly, but I stand my point: I was not judging the merit of his work, nor denying his expertise in software, neither saying he did not develop an excellent client, nor saying that KGS is a sloppy server: I have said that developping CGoban is not his profession, it is not his job: his efforts are not paid. You yourself have confirmed this: Hu: "It is not a job for him", "He does not get paid for it", "He has done it for the love of the game of Go", "This is a huge donation...".
May I say that maintaining CGoban is Mr. Shubert's passtime (in the positive sense above)? No wonder he considers "unreasonable ... to put up with an unsupported and buggy implementation of Java on a platform used by an ever-diminishing minority of users".

That's exactly my point: it is not Mr. Shubert's "job" to develop CGoban: he's therefore perfectly entitled to stop bothering about "a tiny number of users" which are "a tiny fraction of the "market"".
Meanwhile, Kiseido is a commercial enterprise: it has given its brand name to a go server that may have started on a huge, beautiful, amateur (again, in a very positive sense) effort, but which is now grown a lot, and which has the ambition to be considered the best one around.
From this point of view I do believe that losing for whatever reason even a single player is a bad move: I've seldom seen a commercial enterprise happy at losing clients (even if virtual): it is their businnes, but, at cost of repeating myself, I think they'd better start to pay their developpers.

Cheers...


crux (who was slightly annoyed by this rant and is therefore more rude than usual): Equating buying a PC with giving money to the devil? Please. According to your personal page you're not a teenager anymore, so try to adopt a more mature attitude. cgoban doesn't run on my Amiga 500 either, but I don't bitch about it. Religious faith is misplaced in computer systems, especially obsolete ones.

It's entirely professional to discontinue support for minor systems if the maintenance effort outweighs the benefits; it happens all the time in the real world. You may also be slightly overestimating the number of people affected by the change.

Fhayashi: anyways, buying a PC isn't giving money to the devil. It's buying some sort of Windows operating system that is giving money to the devil.

JohnAspinall: Exactly. Dashn is closed to everyone who finds Windows repellent, because their client is Windows-only. But KGS, while not totally open, is open to many more possibilities. I access KGS from a cheap (US$50) ancient (Pentium 1, 200 MHz), PC running a free operating system (Linux) that runs the 1.4.1 Java VM just fine, thank you. You have a legitimate point about being cut off, but you give the impression that your dogmatism is preventing you from seeing any number of workarounds.

RussellKhan: Fhayashi, JohnAspinall, you two may have hit on a key point there! I don't know DJ's finances or inclination, but it is entirely possible to get a very cheap (or even free) old PC and run Linux on it to connect to KGS. DJ, if you care to do this and need any help, please let me know, I'd be glad to provide whatever guidance I can to help you with the process.


mdh: What is meant by "professional KGS player (i.e. I'm not payed to play there)"? Is there professional KGS players?

fhayashi: Some people teach on KGS for money. I wonder if wms has thought of charging a fee for paid lessons on KGS?

DJ: it was a jokingly way to say that as I'm not paid to play on KGS (why should I?) it won't be the end of the world after all if I cannot play there...
I just wanted to add that if one reads what I've written, one can see that I've never contested the technical reasons, I was just arguing about the political issue.
As for the workarounds, I say for the third time that I do not see why I should bother. And I'll say no more, I'll go back to my obsolete ghetto...

W. Shubert: Well, not much I can say here to make it better. Yes, KGS is just a hobby of mine. I don't get paid for it. Spending the hours it would take to get the OS 9 client up to date was more than I wanted, and it would probably fail anyway, after any major change it takes try after try to get something that the damn OS 9 java system doesn't choke on, and I just can't keep that going. And don't blame Kiseido for this - it was my decision to cut off the OS 9 client. I feel bad that I did, but I'd been holding off some major protocol changes (for cloned games especially) because I didn't want to break the OS 9 clients; finally, an upgrade to one of my tools made it totally impossible for me to even build an OS 9 client any more, so I gave up, changed the protocol, and there you are. I'm sorry you can't play on KGS any more, but I'd been holding back changes for 2 years already for that, and I decided it was finally time to go and make the changes.

AvatarDJFlux: Thank you William for finding the time to write a reply here, I very much appreciate it. I hope you didn't find my words too harsh, but in the beginning I must say I was upset, then I accepted the fact. Again, I'm in no position to say anything from the technical point of view, it was just that it felt sad not to be able to access KGS.
But sure I'll be back in a few years when I'll upgrade my PowerBook...

Tamsin: Can't you use the java applet on the KGS website? It's not as flash as the downloadable client but it's a lot better than no access. Or won't that work either?

DJ: No, it seems it doesn't work either.


tsjanl: Besides installing OS X, maybe installing a PPC Linux like [ext] Yellow Dog Linux is an option. It runs much faster than OS X. I have no experience with running CGoban2 on it. If you are interested, I could try to install it and see if it works with the latest YDL.

fhayashi: Another alternative would be one of those boot-from-CD Linux distributions. I believe there is one that runs on G3 machines...


Bignose: This is one of the main reasons I avoid playing on KGS -- there is no way to do so with free software (software that people are free to improve and share without needing to contact the author). It's not even necessary for BillShubert to write any (further) free software, so long as others are permitted to do so.

If the KGS protocol were documented, free software clients could be written to connect to the server, or existing free software clients modified to do so. Once free software clients exist, they can be modified, ported, enhanced and shared however people want -- without any demand on BillShubert's time.

It's up to the author to license software however he wants to. But make no mistake -- if the author chooses not to free the software source, or share information on making interoperable software (in this case, by publishing information on writing a client to connect with KGS) then the responsibility for *any* failing in the existing software lies with him, since by his own choice no-one else can do anything about it.

PatrickB: You're right, by and large, of course, but there's a tradeoff here when something is in active development. Wms has decided the value of having a closed protocol at the moment, namely being able to innovate the features in the system without being locked in to backwards compatibility with old and sometimes unmaintained clients, is worth the downside that you mention. For information on just a few of the changes being added, for example, check out the KGS Status page.

Anon: What I don't understand is why if the specs are released he is suddenly "locked into backwards compatibility." The specs could be open, with the proviso that they are subject to change. This way open clients can be written at the author's peril --- update or your client can't connect anymore --- and this will be one solid step better than the current situation.

Also may I ask, and I ask in the most neutral tone possible: has your agreement with Kiseido in any way affected the path that has been taken with cgoban2/KGS in this regard?

And one quick comment about Bignose's above point: your use of the term "permitted" seems a bit dubious. Are we not able to reverse engineer the client and the protocol if we wish? Albeit this is hard, since the communication is in some binary protocol, and the jar file for cgoban2 has been obfuscated with [ext] ProGuard. But, we are "permitted" to do so, yes?

PatrickB: KGS wouldn't be locked into backwards compatibility in a technical sense, of course, but as soon as there's a large following of a different client, it would be from a practical sense in many ways that would make it harder to evolve the server quickly. Most of our users aren't programmers and simply don't understand the compatibility issues - if Bill makes a change to the protocol to add a feature that breaks a widely-used client that he doesn't control, they're going to complain to him. When he says "sorry, that client is not supported by us and is no longer compatible with the server", how do you expect a non-technical user to react? wms put off changes for a long time just so that he wouldn't break the OS9 client, and even though he politely explained why he did so in several places and it's only used by a few people, we have a sensei's page dedicated to ranting about that. Another point - when was the last time that the IGS client-server protocol changed in any substantial way, even though there's no technical reason that I know of preventing it?

Of course, none of this would be a big problem if the protocol changed only rarely, since such incompatibility would be a rare occurence and so would the associated complaints. The protocol changes often, though, and will for some time to come. For the record, I'd like to see the protocol be open at some point, too, but while the server and protocol are changing rapidly to support new features, wms just doesn't feel that that's practical and that doing so might tie his hands to some extent. Yes, I agree other clients with different features would be nice; what separates KGS from other go servers, however, is novel features in the protocol that let the client and server collaborate to do cool things like game review, tournaments, cloned games, and so on. Making it harder to expand such features rapidly just isn't in KGS's best interests right now. Once the server changes settle down, perhaps this will change; you'd have to ask wms about this, however.

As far as "permitted" to reverse engineer the protocol, there's nothing legally that prevents you from doing so that I'm aware of, though I am not a lawyer and I do not speak for wms or KGS or Kiseido in this regard. One person has already done so to some extent against Bill's express wishes. (a blatant lie removed) I would hope that others would have enough respect Bill's wishes and all of the work he's done on his own time to not reverse engineer the protocol, so that wms can continue to make KGS as good as possible in the time he spends on it.


This is a copy of the living page "KGS client support for Mac OS9" at Sensei's Library.
(OC) 2009 the Authors, published under the OpenContent License V1.0.
[Welcome to Sensei's Library!]
StartingPoints
ReferenceSection
About