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