I suggest that the people that want and know, group together and build an open-source one.
Why do you have to have your "own" library?
Did I say "pharo library"? reread carefully I said an "open-source one". This is not our own library, this is a library we can contribute, control.... We do not want to be in the situation that somebody can change the license under our feet. We want a library where people can participate. Now Pharoers will decide, I think that we do not have problem with sharing on WebClient. I can understand that people do not like that they cannot improve an infrastructure that they will rely upon. We do not want string to number conversion, and rely on squeakToUtf. Now I was not even aware of the ConfigurationOfWebClient. There is none in the squeaksource repository. So how can we guess? I'm not reading squeak-dev and no idea that there is even somebody using metacello.
What's wrong with one that could be shared by all Squeak forks?
We do not have problem with sharing. You can take anything you like from Pharo. Seaside, Magritte, Pier, RB,.... are all MIT OB is MIT and lukas pushed it a lot recently for everybody. Moose is BSD, MIT, Glamour, Mondrian MIT ... and I'm sure that they are more. :) they are all external projects. We discussed on the mailing-list what to do and people thought that it would be good to get in included it. Probably we missed the point that we just need SocketStream to load the rest. I'm dull but learning everyday. For me I just cannot stand HTTPSocket and the network package so anything is better. But may be it was a mistake. Note that I hope that squeakers will not bash us as the guys that want to play it alone because this is not the case, but people can bash us if this helps them to feel good. Pharo is there for that too ;D. WebClient was the perfect case for sharing but Andreas decided differently. Now - since the license is unclear - since the license of the contributors is unclear we will not use it as an infrastructural assets for Pharo. I imagine that Seaside will not use it either. Stef
Levente
Stef
On Aug 30, 2010, at 12:00 AM, Andreas Raab wrote:
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.raab@gmx.de> To: Sven Van Caekenberghe<sven@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-SvenVanCaekenbergh...
==================== 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
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project