Hi Sven,

[cc: pharo list since I think there are some larger issues to discuss]

First of all thank you for your continued interest in WebClient. It is nice to see that people like to use it. However, I'm more than a bit surprised about what you are saying below about having WebClient in Pharo 1.2. Honestly, I was dumbfounded when I went to read some of the discussions on the Pharo list.

May I ask what the due diligence process is for including packages in Pharo? I would have expected that the process includes 1) checking the project page on SS for the license and 2) sending the author a courtesy note along the lines of "hey we want to include your code, are you okay with that?" (in particular if the author of the package isn't on the Pharo list and consequently has no clue about what you're doing).

1. Regarding WebClient's license, please have a look at any of the following repositories, all of which are under MIT:

http://www.squeaksource.com/Balloon3D.html
http://www.squeaksource.com/CroquetGL.html
http://www.squeaksource.com/ToolBuilder.html
http://www.squeaksource.com/TweakCore.html
... etc ...

As you can see, when I mean to put code under the MIT license, I try to state that by including a copy of the license on the front page of the repository as well as setting the license field. Contrary to, for example, the following repositories:

http://www.squeaksource.com/ar.html
http://www.squeaksource.com/SqueakSSL.html
http://www.squeaksource.com/WebClient.html

which are not (or not yet) under MIT. Obviously, I'm trying to be as clear as possible on these matters, which is why I was pointing out that your repository incorrectly claims that the version of WebClient in it is LGPLv2. I'm surprised (and shocked) that apparently nobody in Pharo even tries to find out what the license status for WebClient is.

2. Regarding my intentions / position you'll have to keep in mind that I don't read the Pharo list. I tried to follow it in the past only to be faced with several vicious attacks against Squeak and myself and as a consequence I stopped reading it. Consequently, this is the first time anyone has ever mentioned the inclusion of WebClient in Pharo to me.

In short, my position is that we need more shared libraries, not more forks. You will probably see the irony that I specifically didn't set a license on WebClient to prevent such forks without any prior discussion (under the hopelessly naive assumption that there would be some sort of due diligence process) only to find out that you've forked WebClient already. How very ironic indeed.

Because of my position above, I think WebClient should be an external package, loaded for example via Metacello configuration. In fact, that's exactly why I provided a Metacello configuration to begin with. Can someone perhaps explain where the urge to include (and consequently fork) WebClient comes from? WebClient is a perfectly good external package and for the time being I prefer it should stay that way. If you want to replace HTTPSocket, then have a look at Squeak 4.2 which contains a very simple HTTPSocket implementation that has hooks so that WebClient will be used if it's loaded.

Regarding fixes for Pharo, as far as I know the only changes that I haven't included was a bunch of #asString sprinkled all over the places, and the abominations of replacing #squeakToUtf8 and #utf8ToSqueak with "convert[From|To]WithConverter: UTF8TextConverter new". On both of these issues I feel very strongly; I will not make the code substantially worse only to deal with shortcomings of Pharo. So if you cannot come to a reasonable resolution for these, you'll need the extension methods. Outside of that, I believe that not only have I integrated all the fixes that have been sent to me, I have also added several patches to WebClient-Pharo that provide important fixes for (in Pharo broken) network operations without which WebClient would not work in any released Pharo versions.

Summary:
* I'm surprised and I'm shocked to see that there is apparently no due diligence regarding new packages in Pharo. I find this in particular shocking giving the wild claims on the Pharo web site that "From the beginning of Pharo we have maintained a strict rule that every contributor has to sign our license agreement." I haven't. (and geez, when did Michael got dropped from the Pharo board?)

* I don't want WebClient to be included in Pharo since this means you will be producing a Pharo-only fork of WebClient which is counter-productive from my perspective. I want WebClient to remain a shared loadable package with a canonical source repository available to all forks of Squeak, including Pharo.

* I have, and will continue to do so, integrate fixes for Pharo as long as I consider them reasonable. If there is interest, I can also provide an updated Metacello configuration; although that really just boils down to updating it to the latest package versions.

Cheers,
  - Andreas

On 8/29/2010 4:43 AM, Sven Van Caekenberghe wrote:
Andreas,

The lastest fiddling that I did is now in PharoInBox:

Name: WebClient-Core-SvenVanCaekenberghe.74
Author: SvenVanCaekenberghe
Time: 27 August 2010, 1:59:46 pm
UUID: d97ff218-9bde-4259-bf8a-f9d0fe116138
Ancestors: WebClient-Core-StephaneDucasse.73, WebClient-Core-pmm.73

merged in pharo-core 1.2

We're down to 2 unit test failures/errors againt your latest tests.

A number of people including myself are interested, enthousiastic and willing 
to help bring WebClient to Pharo (1.1 and 1.2), and by using it, help it 
improve its core functionality. However, the current process, whereby you 
mostly ignore Pharo related fixes, makes that very difficult (we basically 
almost have to start over again with each commit you do, comparing changes 
becomes harder and harder). You can check the Pharo mailing lists.

As I said before, it is your code and your decision what your standpoint is 
regarding portability (to Squeak derivatives and even other Smalltalks). I can 
understand it if you find it too much work. But I do think you should make it 
clear what your standpoint is.

Regards,

Sven

On 29 Aug 2010, at 04:30, Andreas Raab wrote:

You're probably busy, so just a little "ping" :-)

Cheers,
  - Andreas

-------- Original Message --------
Subject: Re: WebClient-Core port to Pharo 1.1 final
Date: Wed, 25 Aug 2010 22:40:07 -0700
From: Andreas Raab<andreas.r...@gmx.de>
To: Sven Van Caekenberghe<s...@beta9.be>

Hi Sven,

Sorry for the belated reply I think something is wrong with Thunderbird
3's spam filter; it appears that messages with attachments get routinely
marked as spam or something. In any case a message on Squeak-dev just
got me to look for lost email and yours was among them :-)

Do you know if these changes are still applicable? There have been
numerous changes in the meantime in WebClient and haven't been paying
much attention.

Oh, and one more thing. When I went to the project page at
http://www.squeaksource.com/ADayAtTheBeach.html it claims that "Code
commited to this repository will be automatically under LGPLv2 license."

Obviously, this is not true for WebClient; could I ask you to change the
declaration on your repository or move your versions to some other
repository? The way it is right now people might rightfully assume that
the WebClient versions in your repository are under LGPLv2 which is
simply incorrect.

Thanks,
  - Andreas

On 8/12/2010 1:59 AM, Sven Van Caekenberghe wrote:
Hi Andreas,

I made some changes to the latest WebClient-Core in order to run it on Pharo 
1.1:

Sven Van Caekenberghe uploaded a new version of WebClient-Core to project A Day 
At The Beach:
http://www.squeaksource.com/ADayAtTheBeach/WebClient-Core-SvenVanCaekenberghe.63.mcz

==================== Summary ====================

Name: WebClient-Core-SvenVanCaekenberghe.63
Author: SvenVanCaekenberghe
Time: 12 August 2010, 10:46:11 am
UUID: 149d44b2-138b-4d63-a158-f587b2bd391d
Ancestors: WebClient-Core-ar.62

added some more #asString's where needed to deal with the different semantics of #, 
in Squeak vs Pharo; removed usage of #and:and:and:and: with a composition of #and: in 
WebClient>>connect

================================================

I still have some tests that fail, but I can't find the problem:






39 run, 34 passes, 0 expected failures, 0 failures, 5 errors, 0 unexpected 
passes
Failures:

Errors:
WebClientServerTest>>#testMultipartFiles
WebClientServerTest>>#testMultipartFiles2
WebClientServerTest>>#testServerError
WebClientServerTest>>#testWebSockets
WebClientServerTest>>#testWebSocketsFraming

The #testServerError bothers me most.

I am posting this to a Pharo list as well so that maybe others can help.
Maybe I'll find the problems myself later on.

Sven






_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to