Thanks
        http://code.google.com/p/pharo/issues/detail?id=2893

Network will be soon in our radar. full of broken code

Stef


On Sep 1, 2010, at 6:16 AM, Andreas Raab wrote:

> Hi Sven -
> 
> I had a quick look at the failing tests on Pharo and they seem mostly the 
> result of bugs in Pharo's Network package. First, MimeDocument>>url needs to 
> return an instance of Url not a string (check the senders; all users of it 
> expect it to be a Url not a string) so if you change that to return a url 
> it'll take care of the pathForFile issue.
> 
> The failure of testMultiPartPost2 is a combination of two bugs in HTTPSocket. 
> First, there's a typo in getResponseUpTo: at the end (this needs to be 
> #copyFrom:to: (the "to" is missing the colon). Second, there is 
> httpPostMultiPart: which adds an erroneous CrLf at the end of a persistent 
> HTTP/1.1 connection. That causes an interesting series of things to go wrong 
> (which I'm partly still investigating) but the easy solution is to insert a 
> "Connection: close" header.
> 
> Fixes attached. These are of course also broken in Pharo 1.0 and 1.1.
> 
> Cheers,
>  - Andreas
> 
> On 8/30/2010 2:17 AM, Sven Van Caekenberghe wrote:
>> Hi Andreas,
>> 
>> Thank you for clarifying your position and for pointing out the lack of a 
>> proper license for WebClient code.
>> 
>> I and other people in the Pharo community made a mistake and we're sorry. We 
>> will be more careful in the future.
>> 
>> But to our defense, as others pointed out, you're communications gave the 
>> impression that this was true open source, compatible with the standard 
>> Squeak one in spirit.
>> 
>> Futhermore, and this to your credit as well, you yourself wrote the 
>> WebClient-Pharo package, giving the impression that you valued that port. It 
>> also proves that you did the actual effort. Thanks you!
>> 
>> And indeed, you did incorporate some changes, so the intention was certainly 
>> there.
>> 
>> Now, I would not say that we already actually forked the code. We just tried 
>> to port it. The process of following your progress proved difficult (you 
>> probably made a diff between your and our latest versions), precisely 
>> because of some of these little things like #asString, #utf8Encoding, 
>> #and:and:and:and:, but also some deeper ones like #pathForFile that kept 
>> coming back.
>> 
>> You have every right to refuse to follow the Pharo Smalltalk spirit or 
>> style. I respect that, and the Pharo community as a whole should too.
>> 
>> But your refusal to do so and the lack of a license give us no alternative 
>> than to look for other solutions.
>> 
>> I wasn't there when the discussion that let to the birth of Pharo took 
>> place. But it is clear that the Smalltalk community is too small to not work 
>> together.
>> 
>> The Smalltalk-80 inheritance and the enormeous contributions of the Squeak 
>> community over the years should be respected by all. At the same time you 
>> cannot ignore the positive effect that Pharo had since then. For me and many 
>> others, Pharo definitively has its place, along many other viable Smalltalk 
>> implementations.
>> 
>> Regards,
>> 
>> Sven
>> 
>> On 30 Aug 2010, at 00:00, 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
>> 
>> 
> <NetworkFixes-ar.1.cs>_______________________________________________
> 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

Reply via email to