[issue1667546] Time zone-capable variant of time.localtime
Paul Boddie p...@boddie.org.uk added the comment: On Wednesday 13 June 2012 23:51:25 Alexander Belopolsky wrote: Alexander Belopolsky alexander.belopol...@gmail.com added the comment: I've simplified Paul's patch by removing timegm and mktimetz functions. Also, platforms that don't support tm_zone are unaffected. I think you may have forgotten to remove docstring references to those functions. Nice to see some progress on the issue, though, and it's probably good to solve one problem at a time in this way, too. Paul -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1667546 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue2124] xml.sax and xml.dom fetch DTDs by default
Paul Boddie p...@boddie.org.uk added the comment: Note that Python 3 provided a good opportunity for doing the minimal amount of work here - just stop things from accessing remote DTDs - but I imagine that even elementary standard library improvements of this kind weren't made (let alone the more extensive standard library changes I advocated), so there's going to be a backwards compatibility situation regardless of which Python series is involved now, unfortunately. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue2124 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue762963] timemodule.c: Python loses current timezone
Paul Boddie p...@boddie.org.uk added the comment: I don't understand how this bug and its patches are still active. It's difficult for me to remember what I was doing in early 2007 when I started working on issue #1667546, but I can well imagine that it was in response to this and a number of related bugs. Looking at #1667546, it's clear that the work required to handle time zones is not at all as trivial as the patches attached to this issue appear to be. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue762963 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1667546] Time zone-capable variant of time.localtime
Paul Boddie p...@boddie.org.uk added the comment: Speaking for myself, I'm not sure whether I'm really the person to push this further, at least, although others may see it as a worthy sprinting topic. In principle, adding the extra fields is the right thing to do, merely because it exposes things from struct tm which were missing and which influence the other functions depending on it. The only things remaining are to make sure that existing code doesn't change its behaviour with these new fields, and that the new fields work together with the time functions as expected. Thus, testing is the most important thing now, I think. For the bigger picture, which shouldn't be discussed here, Python's way of handling times and dates probably needs improvement - this has been discussed already (a reference for anyone not involved is Anatoly's initial message in one recent discussion: http://mail.python.org/pipermail/python-dev/2010-February/097710.html) - and I think usage of pytz is a step in the right direction, although it does not eliminate the need to learn about time zones (UTC, CET...), time regimes (Europe/Oslo, America/New_York...), floating times, and zone transitions (and ambiguous times). Extending Python library support is potentially a sprinting topic, but not really a topic for discussion around this patch. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1667546 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
Re: Picking a license
On 15 Mai, 04:20, Lawrence D'Oliveiro l...@geek- central.gen.new_zealand wrote: In message a26e8cac-6561-40f6-ae3f-cfe176ecb...@l31g2000yqm.googlegroups.com, Paul Boddie wrote: Although people can argue that usage of the GPL prevents people from potentially contributing because they would not be able to sell proprietary versions of the software ... It doesn’t prevent them from selling proprietary versions of their own contributions, any more than any other licence does. I already mentioned this several days ago, upon which it was regarded as not addressing some complaint or other. You own your own work, but if you release that work to someone and it makes use of a GPL-licensed work, then the user must be able to deal with the work according to the terms of the GPL. The fact that their contribution may not be much use without the rest of that GPL’d code is entirely another matter. It was their choice to build on the work of others; they could have reinvented it from scratch themselves. Yes. I mentioned this before: WebKit (or probably more specifically WebCore) is an example of both originally building on GPL-licensed code, and also building on permissively licensed code. The code specifically belonging to WebKit and its predecessor was never GPL- licensed itself. My point about a platform vendor choosing to undertake the multiple man-year task of rewriting an existing, mature GPL-licensed library purely so that people are then able to sell proprietary software is grounded in the observation that if people were content to make their source code available for their products on such a platform, the GPL would be a satisfactory basis for such activities: they own their own code, can license it permissively (but compatibly with the GPL), and the sources remain available; they don't need a weaker copyleft licence or a permissive licence to do any of this. Now, since it is unlikely that a business is going to spend money on a project that doesn't change the situation in any practical sense - that people are content with having their source code available to their users, but now (after several man-years of effort) can link to a permissively licensed (or weak-copyleft licensed) library - the actual motivation emerges for choosing the LGPL or a permissive licence as the basis for the platform's licensing: to permit the only thing that the GPL does not, which is to let people release their software and not commit to offering the source code; to permit, in effect, the delivery of proprietary software. Any claim that a licensing change is needed merely to let people develop open source applications on the platform is dishonest, especially as the about page for PySide spells out the licensing objective. Take away the proprietary software requirement and you might as well use the GPL. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 15 Mai, 03:46, Patrick Maupin pmau...@gmail.com wrote: On May 14, 6:52 pm, Paul Boddie p...@boddie.org.uk wrote: And suggesting that people have behavioural disorders (Or because have OCD?) might be a source of amusement to you, or may be a neat debating trick in certain circles you admire, but rest assured that I am neither amused nor impressed, nor are others likely to be. That was in an honest response to a question you asked Really, if at this point you think I'm playing games with you. where I explained that I don't know what to think, because often, when you claimed to be addressing my point, you would bring up other red herrings and spend more time on those, and often assign positions to me that I never took. You can spare us the excuses. As I said, I was attempting to be thorough and to explore all possible means of distribution, not least because this was not your original point - you were originally upset about Mr Finney's remark, which you still don't accept, but there's probably no convincing you now - and were then upset at the FSF definition of a work based on or derived from another, leading you to talk about various strategies for defending potential GPL violations in the course of copyright infringement litigation. At this point, it isn't unreasonable to think that you will think of some other objection to the GPL which you will then have everyone explore. I have pointed out at least once the section of the GPLv3 which could reasonably permit someone to receive a binary distribution and there not be an immediate licence violation, plus an FAQ entry which more or less addresses the very situation you describe, and I even provided a link to a discussion of these very issues on the debian-legal mailing list. You can repeat as often as you like that you don't believe it, but I have explained my understanding of precisely the giving CD to a friend situation. To summarise: your friend gets the sources from the same place as the binaries, which is from you. (The SFLC document seems to treat section 6(d) of GPLv3 as being about Internet distribution, but given that the term network server is only mentioned after two sentences, and only then in the conditional form, I regard the FAQ entry I referred to as offering relevant guidance, and even others [*] have considered the text to be subject to similar interpretation.) [*] http://www.gerv.net/hacking/gplv3/draft3/ For the GPLv2 the requirement of a written offer appears to be more dominant, and I believe the physical media actually shipped by Ubuntu is accompanied by such an offer. If Ubuntu encourages others to share media (produced in whichever fashion) or software without any written offer then it is, as I remarked before, a matter that should be discussed with them. Yes, it is unfortunate that the obligations are not communicated, and that is one reason why there is a successor to that licence, but it merely indicates that the balance of obligation and tolerance in the licence, maintained without enabling the widespread and malicious circumvention of the licence, is difficult to achieve. It doesn't invalidate the intent of the licence, and if anything it validates the adoption of GPLv3 in preference to GPLv2. [...] (BTW, IMO this was one of your better posts in terms of tone and being on-point, etc., and I appreciate that.) As I said before, spare me the condescension. Making a remark that someone has a behavioural disorder - a matter, whether true or not, that should have no influence on the course of any discussion - especially when that person has attempted to provide explanations for every quibble spontaneously raised over the course of several days, not only indicates a certain level of hypocrisy, but it indicates that as far as you are concerned any remark about a person's mental health or well-being is fair game if it serves to belittle that person's standing and ridicule what that person has written. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 13 Mai, 22:10, Patrick Maupin pmau...@gmail.com wrote: [...] Just to deal with your Ubuntu high horse situation first, you should take a look at the following for what people regard to be the best practices around GPL-licensed software distribution: http://www.softwarefreedom.org/resources/2008/compliance-guide.html If you still think Ubuntu are violating the GPL or encouraging others to do so, feel free to contact their lawyers who I'm sure will be very interested to hear from you. When the leader of your religion bandies terms like freedom and evil about, what do you expect? Seriously? I thought you were done. I guess you are: again, we have the usual courting of public outrage by labelling stuff you don't like as religion - presumably not the right one, either - when it is no such thing. [...] My primary agenda is to explain that RMS does, in fact, have an agenda, and the GPL was designed as a tool in furtherance of that agenda, and that while the agenda does have some arguably noble goals, before using the GPL people should understand its consequences both for good and bad, and make their own determination about whether it's the right license for their project. Reading through your translations of what are effectively honest summaries, one gets the impression that you have quite a chip on your shoulder about the FSF and RMS. Referring to the GPL as a commercial licence and stating that it (as opposed to any other licence or even the word copyright followed by a name) is a threat to sue people, presumably appealing to the libertarian crowd with a judicious mention of government just to fan the flames of supposed injustice, really does triangulate where you are coming from. So, yes, we're now rather more aware of what your agenda is, I think. And I don't think it improves any argument you may have by projecting notions of morality or immorality onto what I have written, especially when I have deliberately chosen to use other terms which avoid involving such notions, or by equating the copyleft licences with criminal enterprises (pyramid scheme), or by suggesting that I endorse criminal endeavours. But if that's what you have left to say at this point, then I think you probably are done. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 14 Mai, 03:56, a...@pythoncraft.com (Aahz) wrote: IMO this only makes sense if one agrees that people should not be allowed to sell software for money. Absent that agreement, your argument about freedom seems rather limited. You'll have to explain this to me because I don't quite follow your assertion. You can sell copyleft-licensed software, although I accept that you can't set an arbitrarily high price on the sources for someone who has already acquired a binary distribution. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 14 Mai, 05:35, Patrick Maupin pmau...@gmail.com wrote: I mean, it's in English and very technically precise, but if you follow all the references, you quickly come to realize that the license is a patch to the GPL. It is a set of exceptions applied to version 3 of the GPL, done this way so that the exceptions machinery of the GPL can be used to remove them if desired, as opposed to getting into the business of allowing people to relicense works from the LGPL to the GPL, as was the case with previous versions of these licences. You don't even have to read as far as the first clause of the LGPL terms to be told this, but I guess there's more sport in taking cheap shots at the authors than reading three lines down from the top of the text. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 14 Mai, 09:08, Carl Banks pavlovevide...@gmail.com wrote: On May 13, 10:59 pm, Steven D'Aprano st...@remove-this-cybersource.com.au wrote: On Thu, 13 May 2010 17:18:47 -0700, Carl Banks wrote: 2. Reimplment the functionality seperately (*cough* PySide) Yes. So what? In what possible way is this an argument against the GPL? [...] It's not. It's an argument that the GPL doesn't do much good. Right. So nobody got the benefit from Qt under the GPL or PyQt under the GPL? Even the PySide developers seem hell-bent on picking over the work of the PyQt developers for ideas, although they obviously won't touch the code. Nokia seem to have accrued tremendous benefit from the existence of PyQt because I rather doubt that anyone would have bothered rolling a set of mature, usable Python bindings for Qt now had some not existed already and proved that dynamic languages are worth supporting. Arguments against the GPL are found elsewhere in this thread, I don't need to repeat them here. Yes, don't bother. They fit in rather well with the comment you made above. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 14 Mai, 17:37, Patrick Maupin pmau...@gmail.com wrote: Before, you were busy pointing me at the GPL FAQ as authoritative. No, the licence is the authority, although the FAQ would probably be useful to clarify the licence author's intent in a litigation environment. [Fast-forward through the usual tirade, this time featuring words like bible, moral, evil...] Well, I thought I was before, but then the discussion about downloading an ISO and burning it and giving it to a friend came up. This may be technically allowable under the license, but nothing you or anybody else has written has yet proved that to me. Section 3 of GPLv2 (and section 6(d) of GPLv3 reads similarly): If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. And here's that FAQ entry which clarifies the intent: http://www.gnu.org/licenses/gpl-faq.html#DistributeWithSourceOnInternet Like I said, if you really have a problem with Ubuntu shipping CDs and exposing others to copyright infringement litigation - or even themselves, since they (and all major distributions) are actively distributing binaries but not necessarily sources in the very same download or on the very same disc - then maybe you should take it up with them. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 14 Mai, 19:00, Patrick Maupin pmau...@gmail.com wrote: Would you have agreed had he had said that MatLab's license doesn't do much good and assigned the same sort of meaning to that statement, namely that the MatLab license prevented enough motivated people from freely using MatLab in ways that were important to them? Obviously, it was important enough to enough people that they went and built the GPLed Octave software, which now emulates MatLab very closely. I don't need to answer your question. It's obvious that the licence doesn't do much good when people seek to create a platform which is genuinely and irrevocably open as a response. That they have done so using the GPL pretty much sinks the previous ridiculous statement about the GPL, too, unless Octave is somehow a bad thing (which is what a certain vendor of proprietary statistics software would have you believe about a certain widely-used statistical analysis tool). Although people can argue that usage of the GPL prevents people from potentially contributing because they would not be able to sell proprietary versions of the software, it has been in no way demonstrated to be universally true that such contributors would contribute more than those who do so because of the copyleft licensing. The creators of Octave are obviously not willing to create (or help create) another system with all the proprietary limitations of MatLab, and why should they be willing? The production of a different proprietary flavour of MatLab wouldn't be beneficial to them at all - it might even be detrimental to their project - and might only be marginally beneficial, at best, to existing MatLab customers. [PySide] Just as there are a lot of proprietary programs that are relatively useless and *won't* have any GPLed versions written, nobody's going to waste time rewriting a marginally useful GPLed library just to put a permissive license on it, either. Unless they really want to release (or encourage the creation of) proprietary software, which is precisely what PySide is all about. (And PyQt is not marginally useful - it is a widely-used and widely well-regarded library.) And this apparent overriding need to support proprietary solutions results in different strategies, such as with the Chandler project: because the OSAF wanted to be able to sell proprietary solutions but didn't own all the code, they decided to pick only permissively licensed software for the components of the solution, resulting in a lot of extra effort expended in getting their user interface toolkit up to scratch. You can make your own mind up about whether that was a sensible strategy. Usually, however, most people wanting to write proprietary software cannot be bothered to do the work to replicate an existing GPL- licensed solution (or even to significantly improve permissively licensed solutions). They instead appeal to people to release already- mature permissively licensed software, typically waiting for someone with enough money or manpower to do most of the work for them. Again, this is precisely why PySide appeals to a certain audience. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 14 Mai, 19:15, Patrick Maupin pmau...@gmail.com wrote: On May 14, 11:48 am, Paul Boddie p...@boddie.org.uk wrote: Section 3 of GPLv2 (and section 6(d) of GPLv3 reads similarly): If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. And here's that FAQ entry which clarifies the intent: http://www.gnu.org/licenses/gpl-faq.html#DistributeWithSourceOnInternet [...] http://www.gnu.org/licenses/gpl-faq.html#UnchangedJustBinary We're all aware of the obligation to provide source code. You've spent the last few days complaining about it. Like I said, if you really have a problem with Ubuntu shipping CDs and exposing others to copyright infringement litigation. So, deliberately or not, you're trying to change the discussion again. I *never* discussed Ubuntu shipping a physical CD, and never intimated that that was a problem. My discussion was *always* about an individual *downloading* an ISO and *burning* a CD himself, then *distributing* the CD to someone else. I am not changing the discussion at all. You are describing a situation where someone gets the binaries but not the sources, but according to the licence they should get both of those things (ignoring written offers and the like), and this does apply to Ubuntu since precisely this act of distribution (to use the older term) is performed by them. That you then pass on the binaries without the sources is an equivalent situation, ignoring for the moment that you do not yourself have the sources either. So, what are you supposed to do when the recipient calls you on the lack of sources? (And, yes, clearly the FSF anticipates that not everyone will request the sources because it is written in that very excerpt I provide above.) If the recipient is strict about exact compliance, you will have to provide the sources on CD to them. And this makes sense: if they can only make use of the binaries if provided on CD (and not, say, on an FTP site because they don't have an Internet connection, for example), then they will need to receive the sources in the same manner. Of course, the recipient may only demand certain sources, not wishing to avail themself of the sources for all copyleft-licensed packages in the binary distribution. Now we return to the matter of getting the Ubuntu sources. If you ordered a CD from Ubuntu via their ShipIt service, it is at this point that you can demand a CD of corresponding sources. If they cannot provide one, then obviously it poses a problem for your compliance (and theirs, and you should see once again why Ubuntu's activities do matter), but naturally Ubuntu provide parallel binary and source repositories for all their packages. So, even if they were found not to be in compliance according to the strictest interpretation of the licence, it is technically possible for you to acquire the corresponding sources and make them available to the person who was given the CD. If you downloaded an ISO file, Ubuntu could (and do) obviously provide source packages from the same location: their Web site and various mirrors. Really, if at this point you think I'm playing games with you, then you really need to stop taking score and formulate the exact problem you have with the distribution of Ubuntu-style media, because I'm starting to think that the only real problem here is the one you have with people using copyleft-style licences for their works. Since we've had to hear about that over several days, I don't think that articulating that particular problem once again really brings anything more to the discussion. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 14 Mai, 20:36, Patrick Maupin pmau...@gmail.com wrote: That statement was made in the context of why Carl doesn't use GPL- licensed *libraries*. He and I have both explained the difference between libraries and programs multiple times, not that you care. Saying that GPL-licensed applications are acceptable is a minor concession to the use of copyleft licensing if one advocates permissive licensing for all things which are not perceived to be finished products: things that one isn't looking to re-use somehow. Saying that one likes Octave and that it uses the GPL, too, is really damning it with faint praise if one were then to say that its parts should be permissively licensed so that one can incorporate its functionality into something else. No, I don't care if you have a problem with GPL-licensed libraries because it is, as we have established repeatedly, your problem not mine. [...] The production of a different proprietary flavour of MatLab wouldn't be beneficial to them at all - it might even be detrimental to their project - and might only be marginally beneficial, at best, to existing MatLab customers. I personally can't see any realistic chance of detriment. How could a proprietary clone hope to compete against free software on one side and real matlab on the other side? That's a no-win position, so I wouldn't expect to see any proprietary clones. Well, only permissively licensed software would encourage such clones. At that point, there are incentives for people to develop functionality for proprietary deployment instead of for the upstream project. [PySide and proprietary software] No, PySide is about non-GPL software, and is released under a license that even RMS recognizes as free, and it is certainly not of marginal utility. No, PySide is about permitting the development of proprietary applications by providing a solution to the all-important ISVs which lets them develop and deploy proprietary software. Do you really think a platform vendor whose ISVs routinely ship proprietary software on their platform and on other platforms, and who will demand the ability to continue to do so, now expects all these ISVs to provide their applications under the modified BSD licence? Sure, other developers can use the software - even people releasing GPL-licensed software - but that is highly unlikely to be the primary business motivation. If you think the mobile telephony vendors are a bunch of fluffy bunny rabbits playing with each other in sugary meadows of niceness, I don't want to be present when someone directly and finally disabuses you of this belief. It's all about people selling stuff to consumers over and over again, preferably with the consumers rarely if ever being able to opt-out and do things their own way. (And PyQt is not marginally useful - it is a widely-used and widely well-regarded library.) Well, we agree on that. But I don't know why you're trying to claim I said PyQt was only marginally useful. Because you followed on from writing about PyQt by introducing the topic of marginally useful libraries, thus giving the impression that you regarded PyQt as marginally useful. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 14 Mai, 22:12, Patrick Maupin pmau...@gmail.com wrote: I *obviously* was explaining that projects which *aren't* marginal, such as PyQt and MatLab, are the *only* kinds of projects that would be rewritten for a simple license change. As far as your comments about PyQt proving out the concept, well duh! Just as there are a lot of proprietary programs that are relatively useless and *won't* have any GPLed versions written, nobody's going to waste time rewriting a marginally useful GPLed library just to put a permissive license on it, either. This being the sudden introduction of this notion of a marginally useful library. And for a long time no-one did rewrite PyQt for the purpose of having a permissively licensed library, so it's quite natural to assume that you're saying that until PySide came along, the reasons for which I have already noted, PyQt was a marginally useful library, not worth rewriting. You really should slow down and read a bit more carefully. You might want to tone down the condescension. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 14 Mai, 21:14, Patrick Maupin pmau...@gmail.com wrote: If Joe downloads and burns a CD for his friend, he may not have the sources and may not have any intention of getting them, and probably didn't provide a written offer. What you're ignoring for the moment is my whole point, that unlike Ubuntu, Joe is now in violation of the GPL license, because he provided neither a written offer nor source on CD, nor his own download site. Now, wait a moment! Your point is that just by giving the binary CD to someone, you are now in violation of the licence. What I tried to explain is that this situation is anticipated - that the FSF acknowledges that the recipient won't have received the sources at the same time in all situations - and that the same distributor is responsible for providing the sources. As long as they don't deny the recipient access to the sources, by the same means, they are not violating the licence. You have a point about recipients not being immediately and obviously informed of the things they are entitled to, but that is a matter for the distributing parties to remedy: that is arguably what happens when, upon loud squealing about matters of ideology, distributors decide to de-emphasise the Free Software aspect of their distributions. Nevertheless, it is my understanding that anyone attempting to use or install such distributions do get to see a summary of the licences; only people who pass on the software without inspecting it (which would involve actually inserting the CD and booting from it) will be unaware of its contents, and they could only be held responsible as reasonably as one's Internet service provider if that party were asked to provide source packages for that Linux distro I downloaded last year. You also have a point about whether people are able to provide sources at a later date, which might be troublesome if someone gave someone else a CD with an old version of Ubuntu on it and then were asked to provide the source packages. Naturally, the FSF have attempted to address these points in version 3 of the GPL. I would be interested to hear the opinion of the FSF and distributors on this matter, but I think it's absurd to accuse the FSF as operating as you allege Microsoft do, especially as the distributors are the ones who encourage the sharing of the installation media. Really, if you think distributions should do a better job at educating their users and helping them uphold any obligations that may apply to them, you should talk to them about it. But when I attempt to work though the issues in a thorough manner in order to thrash out what it is you really object to - and in practice, the only objections you can seriously have lie in those two points I mention above (not this instant violation situation, discussed in more detail elsewhere [*]) - and all you can do is suggest that other people are trying to mislead you, I struggle to feel inclined to indulge you further. And suggesting that people have behavioural disorders (Or because have OCD?) might be a source of amusement to you, or may be a neat debating trick in certain circles you admire, but rest assured that I am neither amused nor impressed, nor are others likely to be. Paul [*] http://www.mail-archive.com/debian-le...@lists.debian.org/msg31466.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 14 Mai, 21:18, Ed Keith e_...@yahoo.com wrote: The GPL is fine when all parties concern understand what source code is and what to do with it. But when you add people like my father to the loop if gets very ugly very fast. Sure, and when I'm not otherwise being accused of pushing one apparently rather unpopular man's agenda, I am interested in knowing what the best practices should be and how they can be followed more widely. Although Bill Gates once apparently claimed that no-one needs the source code for their word processor or office suite, there are still benefits in people like your father having access to the sources, even if this obviously means that he isn't going to recompile it himself: he can get others to fix things, particularly if his favourite version is no longer widely supported; if you were from a part of the planet where you were comfortable with a widely-spoken global language but your father could only converse in a less widely-spoken minority language not generally supported by such software, someone (perhaps you) could undertake the task of translating that software. Whether or not one is comfortable with copyleft-style licences, there clearly is a benefit in providing access to software governed by those licences. Being able to do so responsibly is obviously a prerequisite to feeling comfortable about it. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 13 Mai, 01:36, Patrick Maupin pmau...@gmail.com wrote: Once the court reaches that conclusion, it would only be a tiny step to find that the FSF's attempt to claim that clisp infringes the readline copyright to be a misuse of that same readline copyright. See, e.g. LaserComb v Reynolds, where the defendant (IMHO) acted much more egregiously than anybody who is delivering free software like clisp is acting, and nevertheless won on that issue. In that very case you mention, LaserComb did not lose the copyright protection on their work, were free to bring an infringement suit once it had cured the misuse [1], and the clause which led to a defence based on copyright misuse was one which forbade licensees from making competing products. Paul [1] http://itlaw.wikia.com/wiki/Lasercomb_America_v._Reynolds#cite_ref-2 -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 13 Mai, 01:58, Patrick Maupin pmau...@gmail.com wrote: On May 12, 6:15 pm, Paul Boddie p...@boddie.org.uk wrote: Right. The full cost of software that probably cost them nothing monetarily and which comes with all the sources, some through a chain of distribution and improvement which could have led to proprietary software had the earliest stages in the chain involved permissive licensing. And that they can't sell a binary-only Ubuntu derivative. Who's talking about selling a binary-only version -- there is a good chance they can't even give away a binary CD without violating copyright. People only have to honour requests for the corresponding source if asked for it. They are not violating copyright by default. If you think Ubuntu are exposing people to legal peril by advocating that people make copies of Ubuntu for their friends, why don't you tell Mark Shuttleworth about it? [...] So, the negative consequences are that people can't make proprietary editions of some software. When that's a deliberate choice in the design of a licence, there's no pretending that the consequences aren't there, just that they aren't perceived by everyone to be negative. I gave an example earlier of svglib and rst2pdf. Negative consequences. Nothing proprietary involved. Negative consequences for people who don't want to touch GPL-licensed software and who reserve the right to make proprietary versions of rst2pdf. [...] Well, you effectively said that you didn't like being asked to share alike, which is what the GPL achieves. I give away lots of software. Free to all comers. Come and get some. Yes, but you don't insist that people share alike. I don't demand that you insist that, either, but you clearly object to other people putting that condition on their own works. so why should I not assume that you generally object to other, more obviously labelled licences like the CC-*-SA licences which make it clear what is expected of that hapless recipient of a work who doesn't bother reading the licence? Your assumptions are so far away from reality that there is really no good reason why you shouldn't assume that I'm a 10 foot tall purple monster. Then you've done a very bad job communicating them. Laying off the bizarre imagery might help remedy that somewhat. [...] Yes, but you have to choose to do something (X) to start with. Which is actually what you wrote later in that exchange: Again, the force is applied once you choose to do a particular thing with the software -- is is really that hard to understand that concept? I didn't just write that later. I wrote it in my very first post, which you just quoted a few lines up, apparently without even bothering to read it closely. I did read it closely. Now read your own comment closely and take particular notice of the word choose. [...] So, the FSF, which so carefully provides the most legalese-ish license on the planet, which was in development for god-knows-how-long, which Have you read the Mozilla Public License? Have you read through Sun's JDK licence? You were complaining about Microsoft licensing earlier: have you read those licences through to the end? (There are people who refuse to accept them, incidentally, and are then refused any kind of refund for the product. Next you'll be claiming that the FSF's indiscretions are on the same level as this particular Microsoft-plus- vendor scam, and yet accuse me of a lack of a sense of perspective.) maintains a carefully parsed FAQ of what you can and can't do, which engages in all sorts of advocacy, can't find the time to explain to Ubuntu that they really ought to explain how the licensing works on their download page? I think Ubuntu can maybe see the case for moving their notice on their legal page to the download page if you can make it successfully. Or is your point that people have to be warned about that inconvenient GPL licence? What have you been smoking and where can I get some? Yes, always ready with a pertinent response, I see. [...] I never said there was. I said that if you don't like the licence, don't incorporate works which use it into your own projects. No, you said If you don't like them, don't use GPL-licensed software. In the context of developing and redistributing it. If you hate the GPL so much, you might not feel comfortable even using the software, either, but that's up to you. You're the one with the problem with the GPL. But don't say that it's not fair that people are releasing stuff under terms you don't like, or say that they're being pathetic or petty or ridiculous by doing so, or are imposing their agenda on you. The only time I mentioned pathetic and petty were for really small libraries, which probably wouldn't merit copyright protection in any case. And for you, libraries like readline are apparently not really worth anything, either. It's always interesting to see the case made
Re: Picking a license
On 11 Mai, 22:39, Patrick Maupin pmau...@gmail.com wrote: OK. Now I'm REALLY confused. I said Certainly RMS carefully lays out that the LGPL should be used sparingly in his Why you shouldn't use the Lesser GPL for your next library post. (Hint: he's not suggesting a permissive license instead.) to which you replied: Sure, but all he's asking you to do is to make the software available under a GPL-compatible licence. Alright, then, all he's asking you to do is to make *your* software available under a GPL-compatible licence. That's what I meant in the context of the discussion. Usually, people complain about how the GPL dictates a single licence, forbidding all others, that is then inseparable from their work (It's my work but they make me GPL it! I can't even control my own work any more! The FSF owns it! and such nonsense), but I've already given examples of this not being the case at all. and then I tried to politely show that you were wrong about RMS's intentions, but now, but you're saying oh, of course, he'd say that -- he wrote the license which is basically what I've been saying all along. But if you have read it like you say, then it appears you were being very disingenuous in your original reply! What the licence asks you to do and what the author of the licence wants you to do are two separate things. [...] NO. If you are building an application, and distributing GPLed stuff as part of it, the FSF still maintains that the license is such that the entire application must be GPLed. You keep acting like this isn't true, but it absolutely is if you're distributing the entire application. I wrote the software above when I meant your software, but I have not pretended that the whole system need not be available under the GPL. Otherwise the following text would be logically inconsistent with such claims: [...] On May 11, 5:24 am, Paul Boddie p...@boddie.org.uk wrote: Again, you have to consider the intent of the licensing: that some software which links to readline results in a software system that should offer the four freedoms, because that's the price of linking to readline whose licence has promised that any system which builds upon it shall offer those privileges. But I did consider the intent, and as I have made clear, I think that's a bullying tactic that fragments the software world unnecessarily. Obviously YMMV. More loaded terms to replace the last set, I see. As for rst2pdf, what your modifications would mean is that the software would need to be redistributed under a GPL-compatible licence. NO. You're still not paying attention. The FSF's clear position is that if you actually *redistribute* software under the GPL as *part of a system* then the full package must be licensed *under the GPL*. Again, what I meant was your software, not the whole software system. As I more or less state below... Once again, I refer you to the intent of the licensing: if someone has the software in front of them which uses svglib, then they need to have the privileges granted to them by the GPL. Yes, if the software also uses some component with a GPL-incompatible licence, then this causes a problem. It appears that the FSF's position is the ability to link to svglib would require software to be licensed under the GPL. It would require the resulting system to be licensed under the GPL. As it stands by itself, rst2pdf would need to be licensed compatibly with the GPL. I don't believe that, but I do believe that if rst2pdf distributed svglib (or even patches to svglib which were clearly derivative works) then yes, rst2pdf would have to be distributed under the GPL. This kind of bullshit is only acceptable to people who only think a single license is acceptable. Take it or leave it, then. [...] Well, I have referred several times to WebKit without you taking the hint, OK, I don't work with webkit. I knew you were hinting at something, but why the games, I don't know. I guess it's all about mystique and games. You mentioned WebKit as a non-GPL-licensed project which attracted contributions from hard-nosed business. WebKit started life as KHTML and was (and still is) LGPL-licensed, but for all practical purposes, KHTML was only ever experienced by KDE users whilst linked to the Qt framework, then available under the GPL. Now, given that WebKit now works with other GUI frameworks, yet is still LGPL-licensed (and this has nothing to do with recent Qt licensing developments, since this applies to the period before those changes), it is clear that any assertion that WebKit was made GPL-only, which is what a lot of people claim, is incorrect. but that provides a specific case of a project which is LGPL- licensed despite being based on (in GPLv3 terminology) libraries which were distributed under the GPL and combined with that software. What other libraries? I don't know it's history. I give you specific
Re: Picking a license
On 11 Mai, 23:02, Patrick Maupin pmau...@gmail.com wrote: Huh? Permissive licenses offer much better certainty for someone attempting a creative mash-up. Different versions of the Apache license don't conflict with each other. If I use an MIT-licensed component, it doesn't attempt to make me offer my whole work under MIT. What certainty does the MIT licence give contributors to a project against patent infringement claims initiated by another contributor? [...] Oh, I get it. You were discussing the certainty that an author can control what downstream users do with the software to some extent. Yes, I fully agree. The GPL is for angry idealists who have an easily outraged sense of justice, who don't have enough real problems to work on. Again, the author does not exercise control when people must voluntarily choose to use that author's work and thereby agree to adhere to that author's set of terms. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 11 Mai, 22:50, Patrick Maupin pmau...@gmail.com wrote: On May 11, 5:34 am, Paul Boddie p...@boddie.org.uk wrote: Yes, *if* you took it. He isn't forcing you to take it, though, is he? No, but he said a lot of words that I didn't immediately understand about what it meant to be free and that it was free, and then after I bit into it he told me he owned my soul now. Thus, owned my soul joins holy war and Bin Laden on the list. That rhetorical toolbox is looking pretty empty at this point. [...] It is whining if someone says, I really want that chocolate, but that nasty man is going to make me pay for it! But that's not what happened. I mean, he just told me that I might have to give some of it to others later. He didn't mention that if I spread peanut butter on mine before I ate it that I'd have to give people Reese's Peanut Butter cups. He isn't, though. He's telling you that you can't force other people to lick the chocolate off whatever Reese's Peanut Butter cups are, rather than actually eating the combination of the two, when you offer such a combination to someone else. Is the Creative Commons share- alike clause just as objectionable to you, because it's that principle we're talking about here? [...] If the man said, please take the chocolate, but I want you to share it with your friends, and you refused to do so because you couldn't accept that condition, would it be right to say, that man is forcing me to share chocolate with my friends? But the thing is, he's *not* making me share the chocolate with any of my friends. He's not even making me share my special peanut butter and chocolate. What he's making me do is, if I give my peanut butter and chocolate to one of my friends, he's making me make *that* friend promise to share. I try not to impose obligations like that on my friends, so obviously the nice man with the chocolate isn't my friend! Yes, he's making everyone commit to sharing, and yes, it's like a snowball effect once people agree to join in. But unless you hide that commitment, no-one imposes anything on anyone. They can get their chocolate elsewhere. They join in; they are not conscripted. [...] I explained this very carefully before multiple times. Let me give concrete examples -- (1) I have told my children before if we take that candy, then they will make us pay for it and (2) if we included (GPLed software) in this (MIT-licensed software) then we will have to change the license. In both these cases, once the decision has been made, then yes, force enters into it. And no, I don't think the average shop keeper is nearly as evil as Darth, or even RMS. Entering an agreement voluntarily does not mean that you are forced to enter that agreement, even if the agreement then involves obligations (as agreements inevitably do). Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 12 Mai, 16:45, Patrick Maupin pmau...@gmail.com wrote: On May 12, 7:43 am, Paul Boddie p...@boddie.org.uk wrote: Thus, owned my soul joins holy war and Bin Laden on the list. That rhetorical toolbox is looking pretty empty at this point. Not emptier than you analogy toolbox. This is really a pretty stupid analogy, but I guess my lame attempts at showing that are wasted. Yes they are. The analogy was to point out that someone can really want something, but if they are not prepared to accept the price of acquiring it, then there is no point in them whining about someone withholding that thing from them, or whining about someone forcing them to do stuff, especially when there is clearly no force involved at all. [...] He isn't, though. He's telling you that you can't force other people to lick the chocolate off whatever Reese's Peanut Butter cups are, rather than actually eating the combination of the two, when you offer such a combination to someone else. No. That's not what is happening, and you've now officially stretched the analogy way past the breaking point. In any case, he's telling me I have to give the recipe for my homemade peanut butter. If you want to redefine the basis of the analogy, then you can talk about the recipe all you like, yes. Otherwise, no: the analogy was only about people whining about not being able to get stuff with no strings attached. I could swap that analogy with one that has someone really wanting a ride on a bus, or wanting to go to the moon, where they don't like it when someone tells them that they can't get do that stuff without agreeing to something or other first. Feel free to start discussing the shape of the bus ticket or who pays for spacesuits if you want, but to say, I really want to use that thing, but that nasty man has licensed it under the GPL is whining in precisely the same way as featured in the analogy. Is the Creative Commons share- alike clause just as objectionable to you, because it's that principle we're talking about here? I have explained that, in some cases, I will use GPL software, and in other cases I won't, and tried to explain why and what the difference is. Anybody can re-read my posts and figure out that the same might apply to the various Creative Commons licenses. So it is objectionable to you as well, then. [...] Yes, he's making everyone commit to sharing, and yes, it's like a snowball effect once people agree to join in. Sorry, I sometimes have a hard time distinguishing the semantic difference between make and force. Could you elucidate? Yes: once they've agreed to join in, they have to go along with the whole scheme. But unless you hide that commitment, no-one imposes anything on anyone. They can get their chocolate elsewhere. They join in; they are not conscripted. And I've already explained why, in some cases, someone might refuse the tastiest chocolate in the world to not join in. Well, great for them. I thought they were forced to join in. I guess not. [...] No, but copyright licenses are funny things, not like contracts where there is a meeting of the minds up front. For example, while the Ciscos of the world have no excuse, I bet a lot of people who download Ubuntu and make copies for their friends are unaware of this section of the GPL FAQ: I downloaded just the binary from the net. If I distribute copies, do I have to get the source and distribute that too? Yes. The general rule is, if you distribute binaries, you must distribute the complete corresponding source code too. The exception for the case where you received a written offer for source code is quite limited. Yes, and that's why, when Mepis Linux were found not to be distributing the sources, they had to go along with the above section. And that's also why version 3 of the GPL has a clause about nominating a party that will honour the obligation to provide source. But what's your problem exactly? The GPL applies to redistribution, and the default state of a copyrighted work is that you don't have permission to redistribute it, so before someone shares something they have to know whether they are able to do so or not. The various clauses are all there for their own reasons. If you don't like them, don't use GPL-licensed software. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 12 Mai, 16:10, Patrick Maupin pmau...@gmail.com wrote: On May 12, 7:10 am, Paul Boddie p...@boddie.org.uk wrote: What the licence asks you to do and what the author of the licence wants you to do are two separate things. But the whole context was about what RMS wanted me to do and you disagreed! What RMS as an activist wants is that everyone releases GPL-licensed code, except where permissively licensed code might encourage open standards proliferation. What RMS the licence author requests is that your work is licensed in a way which is compatible with the GPL. [...] I wrote the software above when I meant your software, but I have not pretended that the whole system need not be available under the GPL. You say you have not pretended but you've never mentioned that it would or even acknowledged the correctness of my assertions about this until now, just claiming that what I said was false. Well, excuse me! I think we both know that combining something with a GPL-licensed work and redistributing it means that the four freedoms must apply, and that recipients get the work under the GPL. You can insist that I said something else, but I spell it out in this post: http://groups.google.com/group/comp.lang.python/msg/034fbc8289a4d555 Specifically the part... Not least because people are only obliged to make their work available under a GPL-compatible licence so that people who are using the combined work may redistribute it under the GPL. In case you don't find this satisfactory, their work means their own work. [...] More loaded terms to replace the last set, I see. IMO Bullying is the correct term for some of Stallman's actions, including in the clisp debacle. I knew you wouldn't agree -- that's why YMMV. And I'm not replacing any set of terms -- part of the bullying is the forcing. Stallman gave Haible the choice to not use readline. Maybe that wasn't very nice, and maybe Haible didn't believe that using readline would incur any consequences, but that's what you get when you use a copyrighted work. Your language is all about portraying the FSF as operating in some kind of illegal or unethical way. I guess you believe that if you throw enough mud, some of it will stick. Again, what I meant was your software, not the whole software system. As I more or less state below... BUT THAT DOESN'T MATTER. Once the whole package is licensed under the GPL, for someone downstream to try to scrape the GPL off and get to just the underlying non-GPL parts is harder than scraping bubblegum off your shoe on a hot Texas day. Big deal. If a project wants to avoid even looking at GPL-licensed code for the reason that someone might end up getting the code under the GPL, and that they're so bothered that the opportunity to not grant such recipients the privileges of modification and redistribution disappears because of the GPL, then that's their problem. [WebKit is LGPL-licensed but KHTML linked to GPL-licensed code, shouldn't WebKit be GPL-licensed?] I didn't make that claim and have never heard of that claim, and I'm not at all sure of the relevance of whatever you're trying to explain to the licensing of an overall program, rather than a library. The point is precisely the one you concede about a project needing to be licensed compatibly with the GPL, even though to use the combined work, the result will be GPL-licensed. [...] All RMS and the FSF's lawyers wanted was that the CNRI licences be GPL- compatible. There are actually various aspects of GPL-compatibility that are beneficial, even if you don't like the copyleft-style clauses, so I don't think it was to the detriment of the Python project. And I don't have a problem with that. Honestly I don't. But as far as I'm concerned, although you finally admitted it, a lot of the dancing around appeared to be an attempt to disprove my valid assertion that a combined work would have to be distributed under the GPL, and that no other free software license claims sovereignty over the entire work. I never denied that the GPL would apply to the combined work! Read the stuff I quote above. Your *own* stuff (for example, the WebKit stuff) can be licensed compatibly with the GPL (for example, the LGPL), but the *whole* thing as it lands in the user's lap will be GPL-licensed. [...] Well, that may not be a judgement shared by the authors. There are numerous tools and components which do dull jobs and whose maintenance is tedious and generally unrewarding, but that doesn't mean that such investment is worth nothing in the face of someone else's so-very- topical high-profile project. OK, so what you're saying is that readline is so dull and unrewarding that the only reason to bother writing it is to reel people in to the GPL? No, what I am saying is that a fair amount of work might have gone into making readline, even though it may not be shiny enough by some people's standards, but that doesn't
Re: Picking a license
On 12 Mai, 21:02, Patrick Maupin pmau...@gmail.com wrote: On May 12, 1:00 pm, Paul Boddie p...@boddie.org.uk wrote: [Quoting himself...] Not least because people are only obliged to make their work available under a GPL-compatible licence so that people who are using the combined work may redistribute it under the GPL. In case you don't find this satisfactory, their work means their own work. OK, but in the last several threads on this sub-part, you kept contradicting me for some supposed technicality (how was I to know there were two RMS's?) when I was trying to make the same point. We both agree that any combining a work with a GPL-licensed work means that the result has to be distributable under the GPL. I was also merely pointing out that the non-GPL-licensed work has to be licensed compatibly if the possibility of combination with GPL-licensed works exists, but you still get to choose the licence. You even acknowledged this: In practice, what it really means is that the combination (e.g. the whole program) would effectively be GPL-licensed. This then means that downstream users would have to double-check that they are not combining the whole work with licenses which are GPL-incompatible, even if they are not using the svg feature. And for the last time, Stallman's opinion on what you should or should not do is a distinct matter from the actual use of these licences. [Haible and readline] He wasn't distributing it! It didn't incur any legal consequences; only the consequence due to not realizing that using readline placed him squarely inside RMS's chess game. Really, what Stallman did in 1992 is a matter for Stallman to defend. Whether a bunch of people use the GPL to license their work or not is a separate matter. All I can say is that Stallman's reasoning was probably driven by the possibility that someone could license their work in a fashion that is incompatible with readline, but deliberately be able to make use of it technically, and then when a user combines that work and readline, the user is told that although readline is used in that combined work, the licensing terms do not now apply. [...] No. That's what you get when you use a copyrighted work authored by an idealist who is trying to spread his choice of license. Well, take it up with Stallman, then. It's a separate issue from the use of the FSF's licences and even how the FSF functions today. [...] Yes, I understand it's no big deal to you. However, what you have said is not quite right. If I license something under the MIT license, I cannot guarantee that no one will ever get it under the GPL, because it could be redistributed downstream under the GPL (but then I don't care to in any case). However, I *can* guarantee that the code I write (and all the underlying code it relies on) will remain freely available from me for people who need the ability to, for example, link with proprietary code. Yes, and as I said, in the context of a program landing in a user's lap, there is no guarantee that such a program will offer users any privileges other than to run the program, and then maybe only under certain conditions. Which is how this discussion began. Despite this not being a very big deal to you, the whole tempest in a teacup here is about this very issue. Yes, I understand it is a problem for me, or any other author who wants to provide code that can be used freely by people who download it. And, as has been pointed out in this discussion, many people don't read licenses very carefully, so someone who doesn't want to restrict other people from linking his library with third party proprietary code should think twice about using the GPL. Sure, the permissive licences declare fewer restrictions or obligations on immediate recipients, but what kicked this discussion off was the remark about end-user privileges, not what certain recipients (but not others) are able to do with the code. [...] No, what I am saying is that a fair amount of work might have gone into making readline, even though it may not be shiny enough by some people's standards, but that doesn't mean you can disregard the authors' wishes by insisting that is it trivial or unimportant, whereas your own software somehow is important. As soon as you go down that road, everyone can start belittling the works of others purely so that they can start disregarding the terms which regulate those works, and then it's a free-for-all. Ahh, well done. You've sucked me into a meaningless side debate. If I'm not distributing readline, then legally the license distribution terms don't apply to me. End of story. (Morally, now we might get into how trivial it is or isn't.) According to the FSF, whose opinions you don't trust, it doesn't matter if you do distribute readline or not: http://www.gnu.org/licenses/gpl-faq.html#LinkingWithGPL http://www.gnu.org/licenses/gpl-faq.html#IfLibraryIsGPL From version
Re: Picking a license
On 12 Mai, 20:29, Patrick Maupin pmau...@gmail.com wrote: But nobody's whining about the strings attached to the software. Just pointing out why they sometimes won't use a particular piece of software, and pointing out that some other people (e.g. random Ubuntu users) might not understand the full cost of the software, and that that is because the cost of the software has been deliberately obscured by using unqualified terms like all-caps Free Software. Right. The full cost of software that probably cost them nothing monetarily and which comes with all the sources, some through a chain of distribution and improvement which could have led to proprietary software had the earliest stages in the chain involved permissive licensing. And that they can't sell a binary-only Ubuntu derivative. [...] Oh, no wonder I didn't understand what you were getting at with the analogy. I'm not whining about people licensing stuff under the GPL, just about its apologists pretending there are never any negative consequences from it. So, the negative consequences are that people can't make proprietary editions of some software. When that's a deliberate choice in the design of a licence, there's no pretending that the consequences aren't there, just that they aren't perceived by everyone to be negative. [Sharing alike] I somehow knew that is how you would read my posts, but no. It's people like you putting words in my month that is objectionable. Well, you effectively said that you didn't like being asked to share alike, which is what the GPL achieves, so why should I not assume that you generally object to other, more obviously labelled licences like the CC-*-SA licences which make it clear what is expected of that hapless recipient of a work who doesn't bother reading the licence? [Obligations after joining a scheme] Sorry, that is absolutely no different than what I originally said when I was first defending Aahz's use of the word force to Ben Finney back on the 7th: Perhaps you feel forces is too loaded of a word. There is no question, however, that a copyright license can require that if you do X with some code, you must also do Y. There is also no question that the GPL uses this capability in copyright law to require anybody who distributes a derivative work to provide the source. Thus, forced to contribute back any changes is definitely what happens once the decision is made to distribute said changes in object form. Both your make and my force mean to compel. We've come full circle. The English language makes no real distinction between making everyone commit and forcing everyone [to] commit. Yes, but you have to choose to do something (X) to start with. Which is actually what you wrote later in that exchange: Again, the force is applied once you choose to do a particular thing with the software -- is is really that hard to understand that concept? But you're virtually claiming that people stumble into a situation where they have to do something they don't like or didn't anticipate, when in fact they've actually entered into an agreement. [...] My problem, exactly, is that bothering Mepis, yet not bothering Joe Blow when he gives a copy to his friend, is exactly the kind of selective enforcement of copyright rights that Microsoft is accused of when they turn a blind eye to piracy in third-world countries. Nonsense. If anything, it's a matter of priorities, and completely absurd to claim that the FSF and all the other copyright holders for GPL-licensed software on Ubuntu installation media are all conspiring together to seed the planet with unlicensed wares in order to reap some kind of monetary reward afterwards, which is what Microsoft has been accused of. [...] Despite your opinion, there is nothing legally or morally wrong with me using GPL software (and not redistributing it) just because I I never said there was. I said that if you don't like the licence, don't incorporate works which use it into your own projects. But don't say that it's not fair that people are releasing stuff under terms you don't like, or say that they're being pathetic or petty or ridiculous by doing so, or are imposing their agenda on you. happen to feel that (a) for my purposes, for most stuff I write, it happens to be the wrong license, (b) (especially historically) some of the practices used to insure proliferation of the GPL are ethically questionable, and (c) whenever these ethically questionable practices are discussed, quasi-religious apologists will take these questionable practices to the next level, by selective quoting and bad analogies and hinting at things without actually coming out and saying them, and all sorts of other debate tactics designed to confuse rather than enlighten. More name-calling and finger-pointing. Great stuff, there. Anything else? Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 11 Mai, 14:12, Ed Keith e_...@yahoo.com wrote: --- On Mon, 5/10/10, Ben Finney ben+pyt...@benfinney.id.au wrote: So I object to muddying the issue by misrepresenting the source of that force. Whatever force there is in copyright comes from law, not any free software license. You are the one muddying the waters. It does not mater whether you break my kneecaps, or hire someone else to break my kneecaps, either way my kneecaps are broken. Nice analogy. In fact, the force mentioned above is nothing more than the thing which makes these licensing agreements binding. All the talk about the GPL forcing people to do stuff, when the stuff is actually one side of a bargain or the obligations of a party in an agreement, is great theatre but nothing more. You can use any license you want, but the simple fact is that if there are fewer restrictions in the license then the user has more freedom in how he uses the licensed code. Yes, the recipient of that code as issued by you has fewer restrictions on their actions and thus more privileges. However, recipients of the extended work may be denied any or nearly all of these privileges. If there are more restrictions he/she has less freedom in how he/she uses the licensed code. Yes, that recipient does not get to exercise certain privileges. However, recipients of the extended work retain the same set of privileges. As do recipients of the work upon subsequent redistribution. We can debate which is better (whether a man should be free to sell himself into slavery) but to claim that putting more restrictions on someone give them more freedom is pure Orwellian double speak. It may provide fewer privileges for initial recipients but may grant those privileges more widely. Sophistry is the last resort of those who have run out of good arguments. The more you engage in it the weaker you make your position. Then I challenge you to dispute the statements of my last three paragraphs without introducing a specific notion of freedom in order to make your case. This thread is generating more heat than light, and probably should be dropped. On this I don't necessarily disagree. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 10 Mai, 17:01, Patrick Maupin pmau...@gmail.com wrote: I'll be charitable and assume the fact that you can make that statement without apparent guile merely means that you haven't read the post I was referring to: http://www.gnu.org/philosophy/why-not-lgpl.html Of course I have read it, and not just recently either. But this is a position paper by the author of the licence, and it doesn't mean that someone who has written a GPL-licensed library completely agrees with that position. And anyway, it's a case of take it or leave it - it's not like the author or the FSF are sneaking stuff into every product and every corner of the market and then telling you that you can't unchoose their stuff. [...] Legally, I don't think they can dictate the license terms of, e.g. clisp just because it can link to readline. But practically, they DID manage to do this, simply because Bruno Haible, the clisp author, was more concerned about writing software than spending too much time sparring with Stallman over the license, so he finally licensed clisp under the gpl. clisp *could* use readline, but didn't require it; nonetheless Stallman argued that clisp was a derivative of readline. That case of the tail wagging the dog would be laughable if it hadn't worked. In any case, Stallman's success at that tactic is probably one of the things that led him to write the paper on why you should use GPL for your library. Although it seems quite unfair, the e-mail discussion about the licence does show that Stallman was not initially convinced that works should be affected in such a way (with regard to the Objective-C compiler developed by NeXT), and that Haible was not strongly opposed to changing the licence. You can argue that Stallman overreached by demanding a licence change and that consideration of such matters has progressed since that time, but Haible always had the option of not using or supporting readline - only the latter is contentious, and the obligation of GPL-compatible licensing (as opposed to GPL-licensing) now diminishes how contentious this is today. [...] I think that, legally, they probably don't have a leg to stand on for some of their overarching claims (e.g. about shipping proprietary software that could link to readline, without even shipping readline). But morally -- well, they've made their position reasonably clear and I try to abide by it. That still doesn't make it not really FUD. I'd call this sort of badgering copyright misuse myself. Again, you have to consider the intent of the licensing: that some software which links to readline results in a software system that should offer the four freedoms, because that's the price of linking to readline whose licence has promised that any system which builds upon it shall offer those privileges. As for rst2pdf, what your modifications would mean is that the software would need to be redistributed under a GPL-compatible licence. That's parsing semantics rather finely. In practice, what it really means is that the combination (e.g. the whole program) would effectively be GPL-licensed. This then means that downstream users would have to double-check that they are not combining the whole work with licenses which are GPL-incompatible, even if they are not using the svg feature. Hence, the term viral. Once again, I refer you to the intent of the licensing: if someone has the software in front of them which uses svglib, then they need to have the privileges granted to them by the GPL. Yes, if the software also uses some component with a GPL-incompatible licence, then this causes a problem. [...] http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem A system incorporating a GPL-covered program is an extended version of that program. The GPL says that any extended version of the program must be released under the GPL if it is released at all. This makes it clear that the overall work must be GPLed. Now, all of a sudden, downstream users cannot do some things they could have done before. Can you not see that taking a preexisting MIT-licensed project and adding code to make it GPL could negatively affect some of its users and that that is not necessarily an unalloyed good? Well, I have referred several times to WebKit without you taking the hint, but that provides a specific case of a project which is LGPL- licensed despite being based on (in GPLv3 terminology) libraries which were distributed under the GPL and combined with that software. Similarly, the effort to ensure that CPython's licence was GPL- compatible had a lot to do with the right to redistribute with GPL- licensed code (actually readline, if I remember correctly). [...] Well, even the FSF doesn't approve of trivial projects using the GPL: http://www.gnu.org/licenses/gpl-faq.html#WhatIfWorkIsShort Sure, that's a pragmatic view -- copyright might not even be permitted on something that short that is mainly functional.
Re: Picking a license
On 10 Mai, 20:36, Patrick Maupin pmau...@gmail.com wrote: I've addressed this before. Aahz used a word in an accurate, but to you, inflammatory, sense, but it's still accurate -- the man *would* force you to pay for the chocolate if you took it. Yes, *if* you took it. He isn't forcing you to take it, though, is he? You're making it sound like whining, but Aahz was simply trying to state a fact. It is whining if someone says, I really want that chocolate, but that nasty man is going to make me pay for it! The fact is, I know the man would force me to pay for the chocolate, so in some cases that enters into the equation and keeps me from wanting the chocolate. If the man said, please take the chocolate, but I want you to share it with your friends, and you refused to do so because you couldn't accept that condition, would it be right to say, that man is forcing me to share chocolate with my friends? This isn't whining; just a common-sense description of reality. Personally, I think this use of the word force is much less inflammatory than the deliberate act of co-opting the word freedom to mean if you think you can take this software and do anything you want with it, you're going to find out differently when we sue you. The word freedom means a number of things. If you don't like the way Messrs Finney and Stallman use the term, please take it up with them. But to say that someone entering a voluntary agreement is forced to do something, when they weren't forced into that agreement in the first place, is just nonsense. It's like saying that the shopkeeper is some kind of Darth Vader character who is coercing people to take the chocolate and then saddling them with obligations against their will. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 11 Mai, 15:00, Lie Ryan lie.1...@gmail.com wrote: Come on, 99% of the projects released under GPL did so because they don't want to learn much about the law; they just need to release it under a certain license so their users have some legal certainty. Yes, this is frequently the case. And the GPL does offer some certainty that various permissive licences do not. Most programmers are not lawyers and don't care about the law and don't care about the GPL; if a commercial programmer want to use the GPL-code in an incompatible licensed program, and he comes up asking, many would just be happy to say yes. Yes, quite possibly. I did mention this myself elsewhere. Most people release their code in GPL just because it's popular, not for the exact clauses in it. Heck, many people that releases code in GPL might not actually have read the full license. Yes, this is also probably the case for a number of people. Although many probably understand the principles of the licence and feel that it represents their wishes most accurately. Only big GPL projects have the resources to waste on a lawyer. And only very big projects have the resources to waste on enforcing the license they uses. The rest of us just don't care. Well, that's always an option as well, but at the same time, there are people willing to pursue licence violations, and these people have done so successfully. There's no need to make an impassioned argument for apathy, though. Some people do wish to dictate what others can do with their work. Or are you trying to make another point here? That people would choose something other than the GPL if only they knew better, perhaps? Since the FSF goes out of its way to list lots of Free Software licences, GPL-compatible or otherwise, and those other licences aren't exactly secret anyway, I hardly think there's a conspiracy at work. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 10 Mai, 03:09, Patrick Maupin pmau...@gmail.com wrote: On May 9, 6:39 pm, Paul Boddie p...@boddie.org.uk wrote: but if they aren't pitching it directly at you, why would you believe that they are trying to change your behaviour? Because I've seen people specifically state that their purpose in GPLing small libraries is to encourage other people to change their behavior. I take those statements at face value. Certainly RMS carefully lays out that the LGPL should be used sparingly in his Why you shouldn't use the Lesser GPL for your next library post. (Hint: he's not suggesting a permissive license instead.) Sure, but all he's asking you to do is to make the software available under a GPL-compatible licence. [...] rst2pdf was licensed under the MIT license before I started contributing to it, and there is no way I was going to even consider adding patches for a GPLed package (which would certainly have to be GPLed) into the rst2pdf repository. (Say what you will about how sometimes differently licensed code can be combined, but RMS has to share quite a bit of the blame/credit for the whole combining licenses FUD.) I think the FSF are quite clear about combining licences - they even go to the trouble of telling you which ones are compatible with the GPL - so I don't see where FUD comes into it, apart from possible corner cases where people are trying to circumvent the terms of a licence and probably know themselves that what they're trying to do is at the very least against the spirit of the licence. Even then, warning people about their little project to make proprietary plugins, or whatever, is not really FUD. As for rst2pdf, what your modifications would mean is that the software would need to be redistributed under a GPL-compatible licence. I'll accept that this does affect what people can then do with the project, but once again, you've mentioned at least one LGPL- licensed project which was previously in this very situation, and it was never actually GPL-licensed itself. Here's the relevant FAQ entry: http://www.gnu.org/licenses/gpl-faq.html#LinkingWithGPL [...] This is exactly the same situation that Carl was describing, only with two different open source packages rather than with a proprietary package and a GPL package. The whole reason people use words like force and viral with the GPL is that this issue would not have come up if svglib were MIT and rst2pdf were GPL. (Note that the LGPL forces you to give back changes, but not in a way that makes it incompatible with software under other licenses. That's why you see very few complaints about the LGPL.) Actually, the copyleft licences don't force anyone to give back changes: they oblige people to pass on changes. [...] But I have definitely seen cases where people are offering something that is not of nearly as much value as they seem to think it is, where one of the goals is obviously to try to spread the GPL. Well, even the FSF doesn't approve of trivial projects using the GPL: http://www.gnu.org/licenses/gpl-faq.html#WhatIfWorkIsShort Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 10 Mai, 08:31, Carl Banks pavlovevide...@gmail.com wrote: On May 9, 10:08 am, Paul Boddie p...@boddie.org.uk wrote: Oh sure: the GPL hurts everyone, like all the companies who have made quite a lot of money out of effectively making Linux the new enterprise successor to Unix, plus all the companies and individuals who have taken the sources and rolled their own distributions. Relative to what they could have done with a more permissive license? Well, yes. Some people would have it that the only reason why BSD variants never became as popular as Linux (or rather, GNU/Linux, but lets keep this focused) is because the litigation around the BSD code base scared people away. Yet I remember rather well back in the mid-1990s when people using the same proprietary-and-doomed platform as myself started looking into Unix-flavoured operating systems, and a group of people deliberately chose NetBSD because of the favourable licensing conditions and because there was a portability headstart over Linux, which at the time people seriously believed was rather non- portable. So, that scary ATT myth can be sunk, at least when considering its impact on what people were doing in 1994. Although the NetBSD port in question lives on, and maybe the people responsible all took jobs in large companies, its success on that platform and its derivatives has been dwarfed by that of the corresponding Linux port. Yes. GPL hurts everyone relative to licenses that don't drive wedges and prevent interoperability between software. I can think of another case, actually connected to the above proprietary platform and its practitioners, where software licensing stood in the way of just getting on with business which is what you seem to be advocating: a company released their application under the GPL, except for one critical library which remained proprietary software. Now, although you can argue that everyone's life would be richer had the GPL not prohibited interoperability (although I imagine that the application's licensing actually employed an exception to glue everything together in that particular case), a community never formed because people probably assumed that their role would only ever be about tidying up someone else's code so that the original authors could profit from it. All the GPL is designed to do in such cases is to encourage people to seek control (in terms of the four freedoms) of all the technology, rather than be placated by the occasional airdrop of proprietary software and to be convinced never to explore the possibility of developing something similar for themselves. The beneficiary of the refusal to work on the above application was the GPL-licensed Inkscape, which might not be as well-liked by many people, but it does demonstrate, firstly, that permissive licences do not have the monopoly on encouraging people to work on stuff, and secondly, that actually going and improving something else is the answer if you don't like the licensing of something. You might argue that GPL is sometimes better than proprietary closed source, and I won't disagree, but it's nearly always worse than other open source licenses. For me, I would argue that the GPL is always better than proprietary closed source, recalling that the consideration is that of licensing and not mixing in other concerns like whether a particular program is technically better. In ensuring that an end-user gets some code and can break out those four freedoms on it, it is clearly not worse than other open source licenses, and I don't accept that this is some rare thing that only happens outside a theoretical setting on an occasional basis. P.S. And the GPL isn't meant to further the cause of open source: it's meant to further the Free Software cause, which is not at all the same thing. It doesn't matter what the GPL meant to do, it matters what it does, which is hurt everyone (relative to almost all other licenses). This is your opinion, not objectively established fact. Before you ridicule other people's positions, at least get your terminology right. I don't agree with FSF's defintion of free software and refuse to abide by it. GPL isn't free software; any software that tells me I can't compile it in with a closed source API isn't free. Period. Well, if you can't (or can't be bothered) to distinguish between what is known as Free Software and open source, then I'm hardly surprised that you take offence at people releasing software for one set of reasons while you only consider another set of reasons to be valid ones. Throughout this discussion I've been accused of not being able to put myself in the position of the other side, but I completely understand that people just want as much publicly available software as possible to be permissively licensed, frequently for the reason that it will grease the wheels of commerce, that it reduces (but, contrary to popular belief, does *not* eliminate) the amount of thought
Re: Picking a license
On 10 Mai, 17:06, a...@pythoncraft.com (Aahz) wrote: In article 074b412a-c2f4-4090-a52c-4d69edb29...@d39g2000yqa.googlegroups.com, Paul Boddie p...@boddie.org.uk wrote: Actually, the copyleft licences don't force anyone to give back changes: they oblige people to pass on changes. IMO, that's a distinction without a difference, particularly if you define give back as referring to the community rather than the original project. There is a difference: I know of at least one vendor of GPL-licensed solutions who received repeated requests that they make their sources available to all-comers, even though the only obligation is to those receiving the software in the first place. Yes, the code can then become public - if Red Hat decided to only release sources to their customers, and those customers shared the sources publicly, then CentOS would still be around as a Red Hat clone - but there are situations where recipients of GPL-licensed code may decide that it is in their best interests not to just upload it to the public Internet. With the FSF itself using pressure in the FAQ entry you linked to, I have no clue why you and Ben Finney object to my use of force. Because no-one is being forced to do anything. Claiming that force is involved is like hearing a schoolboy saying, I really wanted that chocolate, but why is that man forcing me to pay for it? Well, you only have to pay for it if you decide you want to take it - that's the only reasonable response. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 9 Mai, 09:05, Carl Banks pavlovevide...@gmail.com wrote: Bottom line is, GPL hurts everyone: the companies and open source community. Unless you're one of a handful of projects with sufficient leverage, or are indeed a petty jealous person fighting a holy war, the GPL is a bad idea and everyone benefits from a more permissive licence. Oh sure: the GPL hurts everyone, like all the companies who have made quite a lot of money out of effectively making Linux the new enterprise successor to Unix, plus all the companies and individuals who have taken the sources and rolled their own distributions. It's not worth my time picking through your holy war rhetoric when you're throwing facts like these around. As is almost always the case, the people who see the merit in copyleft-style licensing have clearly given the idea a lot more thought than those who immediately start throwing mud at Richard Stallman because people won't let them use some software as if it originated in a (universally acknowledged) public domain environment. Paul P.S. And the GPL isn't meant to further the cause of open source: it's meant to further the Free Software cause, which is not at all the same thing. Before you ridicule other people's positions, at least get your terminology right. -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 9 Mai, 07:09, Patrick Maupin pmau...@gmail.com wrote: See, for example, Apple's support of BSD, Webkit, and LLVM. Apple is not a do no evil corporation, and their contributions back to these packages are driven far more by hard-nosed business decisions than by any expectation of community goodwill. This being the same Apple that is actively pursuing software patent litigation against other organisations; a company which accuses other companies of promoting closed solutions while upholding some of the most closed and restrictive platforms in widespread use. Your definition of do no evil is obviously more relaxed than mine. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 8 Mai, 22:05, Patrick Maupin pmau...@gmail.com wrote: On May 8, 2:38 pm, Steven D'Aprano st...@remove-this- No, you don't *owe* them anything, but this brings us back to Ben's original post. If you care about the freedoms of Cisco's customers as much as you care about the freedoms of Cisco, then that's a good reason to grant those customers the same rights as you granted Cisco. But I *do* grant them the same rights -- they can come to my site and download my software!!! Of course they can, but it doesn't mean that they can run that software on the Cisco equipment they've bought, nor does it mean that the original software can interoperate with the modified software, that the end-user can enhance the original software in a way that they prefer and have it work with the rest of the Cisco solution, or that the data produced by the Cisco solution can be understood by a user- enhanced version of the original solution or by other software that normally interoperates with the original software. People often argue that the GPL only cares about the software's freedom, not the recipient's freedom, which I find to be a laughable claim because if one wanted to point at something the GPL places higher than anything else, it would be the four freedoms preserved for each user's benefit. Really, copyleft licences are all about treating all recipients of the software and modified versions or extensions of the software in the same way: that someone receiving the software, in whatever state of enhancement, has all the same privileges that the individual or organisation providing the software to them enjoyed; those four freedoms should still apply to whatever software they received. That this is achieved by asking that everyone make the same commitment to end-user freedoms (or privileges), yet is seen as unreasonable or actually perceived as coercion by some, says a great deal about the perspective of those complaining about it. [...] So, that gets back to my argument about what I like to see in a package I use, and how I license things according to what I would like see. For me, the golden rule dictates that when I give a gift of software, I release it under a permissive license. I realize that others see this differently. Yes, but what irritates a lot of people is when you see other people arguing that some other random person should license their own software permissively because it's better or more free when what they really mean is that I could use it to make a proprietary product. [...] To me, the clear implication of the blanket statement that you have to use the GPL if you care at all about users is that anybody who doesn't use the GPL is uncaring. Well, if you want the users to enjoy those four freedoms then you should use a copyleft licence. If you choose a permissive licence then it more or less means that you don't care about (or have no particular position on the matter of) the users being able to enjoy those privileges. I believe you coined the term uncaring, but I think Mr Finney's statement stands up to scrutiny. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 9 Mai, 19:55, Steven D'Aprano st...@remove-this- cybersource.com.au wrote: Patrick said that Apple is NOT a do no evil company. Yes, apologies to Patrick for reading something other than what he wrote. I suppose I've been reading too many Apple apologist commentaries of late and probably started to skim the text after I hit the all-too-often mentioned trinity of BSD, Webkit, and LLVM, expecting to be asked to sing the praises of Apple's wholesome commitment to open source. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Picking a license
On 9 Mai, 21:07, Patrick Maupin pmau...@gmail.com wrote: On May 9, 1:02 pm, Paul Boddie p...@boddie.org.uk wrote: People often argue that the GPL only cares about the software's freedom, not the recipient's freedom, which I find to be a laughable claim because if one wanted to point at something the GPL places higher than anything else, it would be the four freedoms preserved for each user's benefit. Well, I don't think you saw me arguing it that way. I will say, just like anything else, that there is a cost associated with using GPL software, and it is not necessarily a cost that I want to impose on users of all my software. I didn't say that you personally argued that way, but people do argue that way. In fact, it's understandable that this is how some people attempt to understand the GPL - the software maintains a particular state of openness - but they miss the final step in the reasoning which leads them to see that the licence preserves a set of privileges for recipients as well. The cost with the GPL is that people cannot take GPL-licensed software and just do whatever they want with it, although it is also the case that permissive licences also have a set of conditions associated with each of them as well, albeit ones which do not mandate the delivery of the source code to recipients. Thus, the observation of software licences can never be about taking code which was publicly available and combining it without thought to what those licences say. Thus, remarks about Cisco and Linksys - that they were somehow caught out - are disingenuous: if you're in the business of distributing software, particularly if that software itself has a restrictive licence, you cannot claim ignorance about licensing or that you just found some good code. Really, copyleft licences are all about treating all recipients of the software and modified versions or extensions of the software in the same way: that someone receiving the software, in whatever state of enhancement, has all the same privileges that the individual or organisation providing the software to them enjoyed; Sure, and for a major work I think that's great, especially if it helps attract developers. Sometimes I see people GPL little 100 line libraries (of often not very good code quality) in a clear attempt to have the tail wag the dog, and that's laughably pathetic. Why is it pathetic that someone gets to choose the terms under which their work is made available? By default, if I release something without any licence, the recipient has very few privileges with respect to that work: it's literally a case of all rights reserved for the creator. And if it's such a trivial library then why not reimplement the solution yourself? those four freedoms should still apply to whatever software they received. That this is achieved by asking that everyone make the same commitment to end-user freedoms (or privileges), yet is seen as unreasonable or actually perceived as coercion by some, says a great deal about the perspective of those complaining about it. Well, I *do* think it's, maybe not unreasonable, but certainly unrealistic, for the author of a small library to attempt to leverage control over several potentially much larger works by placing the small library under the GPL, so in general I don't do it. I dislike the way that when someone releases something under the GPL, it is claimed that they are coercing or attempting to leverage something. They have merely shared something on their terms. If you don't like the terms, don't use their software. I also happen to believe that there are a lot of people (perhaps like Carl Banks if I understand his post correctly) who make money delivering small customized solutions to sit on top of proprietary software solutions. If I can save one of these guys some time, perhaps they will contribute back. If I use the GPL, I will have insured that one of these guys cannot possibly link my software to, e.g. Oracle, so he has to reinvent the wheel. So, for some use-cases, I sincerely believe that the GPL license creates unnecessary, wasteful friction. But it is not universally true that GPL-licensed software cannot be linked to proprietary software: there are a number of caveats in the GPL covering cases where existing proprietary systems are in use. Otherwise, you'd never have GPL-licensed software running on proprietary systems at all. But the tone of your last statement and some of your statements below make it abundantly clear that you've made up your mind about my morals and aren't at all interested in my reasoning. Not at all. Recently, I've had the misfortune to hear lots of arguments about how the GPL supposedly restricts stuff like collaboration and growth despite copious evidence to the contrary, usually from people who seem to be making a career of shouting down the GPL or the FSF
Re: Picking a license
On 9 Mai, 21:55, Patrick Maupin pmau...@gmail.com wrote: On May 9, 12:08 pm, Paul Boddie p...@boddie.org.uk wrote: Oh sure: the GPL hurts everyone, like all the companies who have made quite a lot of money out of effectively making Linux the new enterprise successor to Unix, plus all the companies and individuals who have taken the sources and rolled their own distributions. So, people overstate their cases to make their points. That happens on both sides. Overstate their cases? The GPL hurts everyone is a flat-out falsehood. It's not worth my time picking through your holy war rhetoric when you're throwing facts like these around. As is almost always the case, the people who see the merit in copyleft-style licensing have clearly given the idea a lot more thought than those who immediately start throwing mud at Richard Stallman because people won't let them use some software as if it originated in a (universally acknowledged) public domain environment. No, you appear to have a kneejerk reaction much worse than Carl's. You have assumed you fully understand the motives of people who point out issues with the GPL, and that those motives are uniformly bad, and this colors your writing and thinking quite heavily, even to the point where you naturally assumed I was defending all of Apple's egregious behavior. I skimmed your post in that particular case and apologised for doing so. How have I not understood the motives of people who do not like the GPL? The GPL sets out a number of conditions on the use of a particular work; these conditions are not liked by some people typically because it means that they cannot use that work as part of a proprietary product or solution, just as the authors of the licence intended; various people would prefer that authors license their works permissively, precisely because this lets them use such works in proprietary software; some of the rhetoric employed to persuade people to permissively license their work involves phrases like more freedom (which are subjective at best, although never acknowledged as such) or the more absurd holy war, evidently. I once attended a talk by someone from the FSF Europe, a few years ago now, where the inevitable assertion that the BSD licences were more free was made by an audience member. In my experience, such people are very reluctant to acknowledge the different philosophical dimensions of freedom, whereas people who apply copyleft licences to their works have typically had to confront such issues even before being asked over and over again to relicense them. As far as my throwing mud at Stallman, although I release some open source stuff on my own, I make a living writing software that belongs to other people, and Stallman has said that that's unethical and I shouldn't be able to make money in this fashion. Sorry, but he's not on my side. A lot of people seem to take issue with the GPL because they don't like Stallman, but that only leads to their judgement being clouded as a consequence. When Stallman's warnings become fulfilled, as has been the case with things like BitKeeper, this only serves to infuriate people further, often because they know they could have ignored the messenger but should not have ignored the message. Most people writing software are doing so for other people, and many people are doing so as part of a proprietary process. Thus, the only way to interpret what Stallman has to say (should you not wish to reject it completely) is to consider it as some kind of absolute guidance, not some kind of personal judgement. P.S. And the GPL isn't meant to further the cause of open source: it's meant to further the Free Software cause, which is not at all the same thing. Before you ridicule other people's positions, at least get your terminology right. And, again, that's free according to a somewhat contentious definition made by someone who is attempting to frame the debate by co- opting all the mother and apple pie words, who is blindly followed by others who think they are the only ones who are capable of thoughts which are both rational and pure. I'm not saying everybody who uses the GPL is in this category, but some of your words here indicate that you, in fact, might be. No, I am saying that the Free Software movement is a well-defined thing - that's why the name uses capital letters, but it could be called the Planet of the Zebras movement for all the name should reasonably distract from what the movement is actually about - and that it has a very different agenda from the open source movement which advocates very similar licensing on the basis of things like higher software quality and other pragmatic consequences of using such licensing. As for the terminology, I've already noted that I prefer the term privileges to rights or freedoms because it communicates that something is gained. Again, some people assume that the natural state of a work is (or should
Re: Picking a license
On 10 Mai, 00:02, Patrick Maupin pmau...@gmail.com wrote: You just answered your own question. It's pathetic to try to change people's behavior by offering them something worthless if they change their license to match yours. (I'm not at all saying that all GPL code is worthless, but I have seen things like under 30 line snippets that weren't even very well written that were licensed under the GPL.) If this is code that you would consider using in an existing project, but if they aren't pitching it directly at you, why would you believe that they are trying to change your behaviour? It is you who gets to decide whether you use the code or not. If the licence isn't acceptable to you, what prevents you from asking for a special licence, especially if you are going to incorporate the code in a product which is sold? In the more general case of people just releasing small programs and libraries, all such people are doing is saying, Here is something I have done, and here are the terms through which this is shared. If anything, they are reaching out to see if anyone will work together with them on making something better, where everyone agrees to a common framework upon which that work will be done. I'm sure people didn't think much of Linus Torvalds' work in the beginning, either. Paul -- http://mail.python.org/mailman/listinfo/python-list
[issue762963] timemodule.c: Python loses current timezone
Paul Boddie p...@boddie.org.uk added the comment: Well, this still doesn't work for me. I'm running Kubuntu 8.04 (libc6 package version 2.7-10ubuntu5) and reside in the CEST time zone, yet attempting to display the time zone always seems to give +. Here are the failing tests, too: == FAIL: test_tm_gmtoff1 (__main__.TimeTestCase) -- Traceback (most recent call last): File Lib/test/test_time.py, line 225, in test_tm_gmtoff1 time.strftime(%z), time.strftime(%z, time.localtime())) AssertionError: '+0200' != '+' == FAIL: test_tm_gmtoff2 (__main__.TimeTestCase) -- Traceback (most recent call last): File Lib/test/test_time.py, line 238, in test_tm_gmtoff2 time.strftime(%z, time.localtime()), +) AssertionError: '+' == '+' -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue762963 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
Re: DreamPie - The Python shell you've always dreamed about!
On 21 Feb, 17:32, Mensanator mensana...@aol.com wrote: On Feb 21, 10:30 am, Mensanator mensana...@aol.com wrote: What versions of Python does it suuport? What OS are supported? From the Web site referenced in the announcement (http:// dreampie.sourceforge.net/): # Supports Python 2.5, Python 2.6, Jython 2.5, IronPython 2.6 and Python 3.1. # Works on Windows and Linux. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: The future of frozen types as the number of CPU cores increases
On 21 Feb, 03:00, sjdevn...@yahoo.com sjdevn...@yahoo.com wrote: On Feb 18, 2:58 pm, John Nagle na...@animats.com wrote: Multiple processes are not the answer. That means loading multiple copies of the same code into different areas of memory. The cache miss rate goes up accordingly. A decent OS will use copy-on-write with forked processes, which should carry through to the cache for the code. True, but the principal issue with CPython and copy-on-write is the reference counting. Consider a large list shared with the child processes which is to be processed (either in part or in its entirety) by each of them. As soon as the child processes start referencing each of the elements, the reference count for each element object will need to be changed and pages will start to be copied for each child process. That's why John wants to avoid the reference counting of shared data and why the Unladen Swallow project has apparently considered storing reference counts in separate regions of memory. Such shared data is really owned by the parent process, so it makes little sense for the child processes to manage it with a view to collecting it later. After all, such data should have no cost to each of the child processes (except, perhaps, for the size of the address space referenced by each process, and any resource issues arising from managing that). Paul -- http://mail.python.org/mailman/listinfo/python-list
[issue7942] Inconsistent error types/messages for __len__ (and __nonzero__) between old and new-style classes
Paul Boddie p...@boddie.org.uk added the comment: Actually, in the issue reported, the initial problem occurs in the evaluation of an object in a boolean context (and the subsequent problem occurs with an explicit len invocation): http://www.selenic.com/pipermail/mercurial/2010-February/030066.html Presumably (from memory and a brief look at the reference), when if data: is evaluated, Python attempts to invoke an instance's __nonzero__ method or its __len__ method. Since the mercurial.httprepo.httpsendfile class only provides a __len__ method, the __len__ method's return value is used to determine truth. The following demonstrates this particular issue: class C: ... def __len__(self): ... return 2**35 ... c = C() if c: pass ... Traceback (most recent call last): File stdin, line 1, in module TypeError: __nonzero__ should return an int class C(object): ... def __len__(self): ... return 2**35 ... c = C() if c: pass ... Traceback (most recent call last): File stdin, line 1, in module OverflowError: long int too large to convert to int Here, I could actually argue that the message mentioning __nonzero__ is obscure: there isn't such a method defined, and __len__ is the misbehaving method. Still, in the context of boolean evaluation, the OverflowError is less helpful than it could be. -- title: Inconsistent error types/messages for __len__ between old and new-style classes - Inconsistent error types/messages for __len__ (and __nonzero__) between old and new-style classes ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue7942 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7942] Inconsistent error types/messages for __len__ between old and new-style classes
Paul Boddie p...@boddie.org.uk added the comment: I don't disagree that OverflowError describes what's happening, but the need to convert to an int in the first place is a detail of the machine - you'd have to know that this is a limitation of whatever internal protocol CPython implements - not a description of the cause of the error, which is what the old-style message describes quite clearly. On the subject of whether __len__ should be able to return long integers, GvR seems to like the idea (from the related bug mentioned earlier): http://bugs.python.org/issue2690#msg70525 I'll take a closer look at the mechanisms for error reporting around this situation later, but my assertion is that the new-style message isn't as helpful as the old-style one. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue7942 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
Re: Python Optimization
On 14 Feb, 19:41, Steve Howell showel...@yahoo.com wrote: I ditto the profiling recommendation. http://docs.python.org/library/profile.html (To the original inquirer...) Try this, too: http://wiki.python.org/moin/PythonSpeed/Profiling If you have the tools, it's a lot easier than scanning through tables of times. Paul -- http://mail.python.org/mailman/listinfo/python-list
[issue7942] Inconsistent error types/messages for __len__ between old and new-style classes
New submission from Paul Boddie p...@boddie.org.uk: As noted here: http://www.selenic.com/pipermail/mercurial/2010-February/030068.html This is probably documented somewhere, and there may even be a good reason for the difference, but old-style classes raise TypeError when __len__ returns a non-int, whereas new-style classes raise OverflowError. The latter is probably just as valid, but the message is a bit obscure for debugging purposes. Maybe this went away after 2.5 - if so, sorry for the noise! Here's an illustration of the problem: Python 2.5.4 (r254:67916, Nov 4 2009, 17:59:46) [GCC 4.1.2 20080704 (Red Hat 4.1.2-46)] on linux2 Type help, copyright, credits or license for more information. class C: ... def __len__(self): ... return 2**35 ... c = C() len(c) Traceback (most recent call last): File stdin, line 1, in module TypeError: __len__() should return an int class C(object): ... def __len__(self): ... return 2**35 ... c = C() len(c) Traceback (most recent call last): File stdin, line 1, in module OverflowError: long int too large to convert to int -- components: Interpreter Core messages: 99421 nosy: pboddie severity: normal status: open title: Inconsistent error types/messages for __len__ between old and new-style classes type: behavior versions: Python 2.5 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue7942 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7942] Inconsistent error types/messages for __len__ between old and new-style classes
Paul Boddie p...@boddie.org.uk added the comment: I would have expected a more accurate error message for the new-style class. In the original message which brought this to my attention, the cause was not particularly obvious: http://www.selenic.com/pipermail/mercurial/2010-February/030066.html I concede that the different mechanisms in place for new-style classes might make it hard to have a specific error message in such a situation, though. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue7942 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
Re: python 3's adoption
On 29 Jan, 06:56, Terry Reedy tjre...@udel.edu wrote: On 1/28/2010 6:47 PM, Paul Boddie wrote: What would annoy me if I used Python 3.x would be the apparent lack of the __cmp__ method for conveniently defining comparisons between instances of my own classes. Having to define all the rich comparison methods frequently isn't even as much fun as it sounds. You define __eq__, which automatically generates __ne__. From the Python 3.1 language reference: There are no implied relationships among the comparison operators. The truth of x==y does not imply that x!=y is false. Accordingly, when defining __eq__(), one should also define __ne__() so that the operators will behave as expected. Maybe Python 3.1 plugs a default method in, anyway. You define __lt__, which is all sort and heap need. This should be about as easier than __eq__, which is really needed, and __cmp__. If you need the other 3, either copy the recipe in the Cookbook, or, even faster def __ge__(s,o): return o.__lt__(s) def __le__(s,o): return s o or s == o def __ge__(s,o): return s o or s == o Spot the error in the above. ;-) Of course, this could be defined in a base class and be inherited everywhere, but the case that made me raise this issue actually involved instances of a class delegating comparison/sorting to another object. With __cmp__ this can be done concisely and only involve the delegation of one method - not so with the rich comparison protocol. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: python 3's adoption
On 27 Jan, 13:26, Xah Lee xah...@gmail.com wrote: So, for practical reasons, i think a “key” parameter is fine. But chopping off “cmp” is damaging. When your data structure is complex, its order is not embedded in some “key”. Taking out “cmp” makes it impossible to sort your data structure. What would annoy me if I used Python 3.x would be the apparent lack of the __cmp__ method for conveniently defining comparisons between instances of my own classes. Having to define all the rich comparison methods frequently isn't even as much fun as it sounds. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: I really need webbrowser.open('file://') to open a web browser
On 27 Jan, 23:00, Mitchell L Model mlm...@comcast.net wrote: I suppose that since a file: URL is not, strictly speaking, on the web, that it shouldn't be opened with a web browser. But anything with a URL is (or should be regarded as being) on the Web. It may not be anything more than a local resource and thus have no universal or common meaning - someone else may not be able to resolve the URL to a file at all, or it may resolve to a different file - but it's part of the Web as observed by one party. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: I really need webbrowser.open('file://') to open a web browser
On 15 Jan, 21:14, Timur Tabi ti...@freescale.com wrote: After reading several web pages and mailing list threads, I've learned that the webbrowser module does not really support opening local files, even if I use a file:// URL designator. In most cases, webbrowser.open() will indeed open the default web browser, but with Python 2.6 on my Fedora 10 system, it opens a text editor instead. On Python 2.5, it opens the default web browser. The webbrowser module seems to have changed. For example, in the Python 2.5 standard library, it uses gconftool to query the GNOME registry and get the preferred browser, whereas in the Python 2.6 standard library, it appears to use gnome-open instead (but only in a GNOME environment). For KDE, there's a KDE-specific usage of kfmclient in the 2.6 library. See here for more: http://svn.python.org/view/python/tags/r254/Lib/webbrowser.py?revision=67917view=markup http://svn.python.org/view/python/tags/r264/Lib/webbrowser.py?revision=75707view=markup This is a problem because my Python script creates a local HTML file and I want it displayed on the web browser. Generally, the desktop-specific tools should know that a browser is the appropriate application for an HTML file, and testing with both xdg-open, gnome-open and kfmclient openURL seems to open browsers on HTML files (using file:///...) for me (using KDE, Kubuntu 8.04). Of course, this depends on the settings in use on your desktop, but it should be noted that using kfmclient exec could have the effect you describe. So is there any way to force webbrowser.open() to always use an actual web browser? Not that I'm aware of. Sadly, standardisation of applications and services - having a command which can open a particular class of application (such as e-mail reader, Web browser) - seems to be absent from the free desktop arena, although I do recall there being a preferred applications dialogue in KDE, at least. Maybe this information is exposed somehow, and maybe I'll incorporate such stuff into the desktop package eventually: http://pypi.python.org/pypi/desktop Note that the desktop package concerns itself precisely with opening files in text editors if that's how the user has configured their desktop, whereas the webbrowser module should really only use a Web browser, obviously. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Author of a Python Success Story Needs a Job!
On 28 Des 2009, 08:32, Andrew Jonathan Fine eternalsqu...@hotmail.com wrote: As a hobby to keep me sane, I am attempting to retrain part time at home as a jeweler and silversmith, and I sometimes used Python for generating and manipulating code for CNC machines. It occurs to me that in some domains, this combination of Python and the design and production of physical artifacts could be fairly attractive, even though it may or may not be what you want to focus on in pursuing a software career. For example, I follow the goings-on in the various open hardware communities, and there isn't really a shortage of boards, controllers, components or chipsets which can be put to use, but taking these things and producing a well-designed case in order to deliver a readily usable piece of equipment is something which seems beyond most of the interested parties: people who know one thing well can be completely oblivious of the ways of another thing. Sometimes, it seems to pay to be knowledgeable in two different kinds of endeavour whose practitioners rarely interact, and perhaps there might be opportunities for you in this regard. Nevertheless, I obviously wish you success in your employment search. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: I have a cross platform os.startfile but I need to asociate files with xdg-open in linux how do I do that??
On 16 Des, 17:03, eric_dex...@msn.com eric_dex...@msn.com wrote: #this should be a cross platform example of os.startfile ( startfile ) #for windows and linux. this is the first version and #linux, mac, other os's commands for exceptions to the #rule would be appreciated. at some point this will be #in the dex tracker project. You could look at the desktop package for something similar: http://pypi.python.org/pypi/desktop The desktop.open function supports a few extra workarounds, mostly because it pre-dates xdg-open. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Imitating tail -f
On 22 Nov, 05:10, exar...@twistedmatrix.com wrote: tail -f is implemented by sleeping a little bit and then reading to see if there's anything new. This was the apparent assertion behind the 99 Bottles concurrency example: http://wiki.python.org/moin/Concurrency/99Bottles However, as I pointed out (and as others have pointed out here), a realistic emulation of tail -f would actually involve handling events from operating system mechanisms. Here's the exchange I had at the time: http://wiki.python.org/moin/Concurrency/99Bottles?action=diffrev2=12rev1=11 It can be very tricky to think up good examples of multiprocessing (which is what the above page was presumably intended to investigate), as opposed to concurrency (which can quite easily encompass responding to events asynchronously in a single process). Paul P.S. What's Twisted's story on multiprocessing support? In my limited experience, the bulk of the work in providing usable multiprocessing solutions is in the communications handling, which is something Twisted should do very well. -- http://mail.python.org/mailman/listinfo/python-list
Re: New to python
On 30 Nov, 18:14, inhahe inh...@gmail.com wrote: i don't think structs technically exist in Python (though they exist in C/C++), but you could always use a plain class like a struct, like this, for a simple example: class Blah: pass b = blah() b.eyecolor = brown [...] Yes, a bare class can be instantiated and the attributes of the created instance populated as desired. In fact, there are structures (or structs) provided by various built-in extensions supplied with Python, such as the time structure (struct_time), although this appears as a class if you try to investigate it more closely from the Python prompt. See the Objects/structseq.c file in the Python source distribution for how such structures are actually implemented, however. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: pointless musings on performance
On 25 Nov, 13:11, Antoine Pitrou solip...@pitrou.net wrote: When you say executing each kind of bytecode instruction, are you talking about the overhead of bytecode dispatch and operand gathering, or the total cost including doing the useful work? Strip away any overhead (dispatch, operand gathering) and just measure the cumulative time spent doing the actual work for each kind of instruction, then calculate the average cost by dividing by the frequency of each instruction type. So, for a whole program you'd get a table of results like this: LOAD_CONST total time frequency time per instruction LOAD_NAME total time frequency time per instruction CALL_FUNCTION total time frequency time per instruction ... A comparison of the time per instruction column would yield the relative cost of each kind of instruction. Of course, a general profiling of the interpreter would be useful, too, but I imagine that this has been done many times before. To go back to the CISC vs. RISC analogy, I'd expect substantial variation in relative costs, which one could argue is a CISC-like trait (although a separate matter to instruction set orthogonality). Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: pointless musings on performance
On 24 Nov, 16:11, Antoine Pitrou solip...@pitrou.net wrote: [JUMP_IF_FALSE] It tries to evaluate the op of the stack (here nonevar) in a boolean context (which theoretically involves calling __nonzero__ on the type) and then jumps if the result is False (rather than True). [...] As someone pointed out, the Python interpreter could grow CISC-like opcodes so as to collapse is not None (or generically is not constant) into a single JUMP_IF_IS_NOT_CONST opcode. Of course, JUMP_IF_FALSE is already quite CISC-like, whereas testing if something is not None could involve some fairly RISC-like instructions: just compare the address of an operand with the address of None. As you point out, a lot of this RISC vs. CISC analysis (and inferences drawn from Python bytecode analysis) is somewhat academic: the cost of the JUMP_IF_FALSE instruction is likely to be minimal in the context of all the activity going on to evaluate the bytecodes. I imagine that someone (or a number of people) must have profiled the Python interpreter and shown how much time goes on the individual bytecode implementations and how much goes on the interpreter's own housekeeping activities. It would be interesting to see such figures. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: pointless musings on performance
On 24 Nov, 19:25, Antoine Pitrou solip...@pitrou.net wrote: Sorry, I have trouble parsing your sentence. Do you mean bytecode interpretation overhead is minimal compared to the cost of actual useful work, or the contrary? (IMO both are wrong by the way) I'm referring to what you're talking about at the end. The enhancements in Python 3 presumably came about after discussion of threaded interpreters, confirming that the evaluation loop in Python 2 was not exactly optimal. I imagine that someone (or a number of people) must have profiled the Python interpreter and shown how much time goes on the individual bytecode implementations and how much goes on the interpreter's own housekeeping activities. Well the one problem is that it's not easy to draw a line. Another problem is that it depends on the workload. If you are compressing large data or running expensive regular expressions the answer won't be the same as if you compute a Mandelbrot set in pure Python. You need to draw the line between work done by system and external libraries and that done by Python, but a breakdown of the time spent executing each kind of bytecode instruction could be interesting. Certainly, without such actual cost estimations, a simple counting of bytecodes should hardly give an indication of how optimal some Python code might be. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: python simply not scaleable enough for google?
On 17 Nov, 14:48, Aaron Watters aaron.watt...@gmail.com wrote: ... and I still have an issue with the whole Python is slow meme. The reason NASA doesn't build a faster Python is because Python *when augmented with FORTRAN libraries that have been tested and optimized for decades and are worth billions of dollars and don't need to be rewritten* is very fast. That's why I wrote that Python's extensibility using C, C++ and Fortran [has] helped adoption of the language considerably, and Python was particularly attractive to early adopters of the language precisely because of the scripting functionality it could give to existing applications, but although there are some reasonable solutions for writing bottlenecks of a system in lower-level programming languages, it can be awkward if those bottlenecks aren't self-contained components or if the performance issues permeate the entire system. [...] And when someone implements a Mercurial replacement in GO (or C# or Java) which is faster and more useful than Mercurial, I'll be very impressed. Let me know when it happens (but I'm not holding my breath). Mercurial is a great example of a Python-based tool with good performance. However, it's still interesting to consider why the implementers chose to rewrite precisely those parts that are implemented using C. I'm sure many people have had the experience of looking at a piece of code and being quite certain of what that code does, and yet wondering why it's so inefficient in vanilla Python. It's exactly this kind of issue that has never really been answered convincingly, other than claims that Python must be that dynamic and no less and it's doing so much more than you think, leaving people to try and mitigate the design issues using clever implementation techniques as best they can. By the way if it hasn't happened and if he isn't afraid of public speaking someone should invite Matt Mackall to give a Python conference keynote. Or how about Bram Cohen for that matter... Bryan O'Sullivan gave a talk on Mercurial at EuroPython 2006, and although I missed that talk for various reasons beyond my control, I did catch his video lightning talk which emphasized performance. That's not to say that we couldn't do with more talks of this nature at Python conferences, however. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: python simply not scaleable enough for google?
On 16 Nov, 05:51, sturlamolden sturlamol...@yahoo.no wrote: NASA can find money to build a space telescope and put it in orbit. They don't find money to create a faster Python, which they use for analyzing the data. Is the analysis in Python really what slows it all down? Google is a multi-billion dollar business. They are using Python extensively. Yes I know about Unladen Swallow, but why can't they put 1 mill dollar into making a fast Python? Isn't this where we need those Ohloh figures on how much Unladen Swallow is worth? ;-) I think Google is one of those organisations where that Steve Jobs mentality of shaving time off a once-per-day activity actually pays off. A few more cycles here and there is arguably nothing to us, but it's a few kW when running on thousands of Google nodes. And then there is IBM and Cern's Blue Brain project. They can set up the fastest supercomputer known to man, but finance a faster Python? No... Businesses and organisations generally don't spend any more money than they need to. And if choosing another technology is cheaper for future work then they'll just do that instead. In a sense, Python's extensibility using C, C++ and Fortran have helped adoption of the language considerably, but it hasn't necessarily encouraged a focus on performance. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: python simply not scaleable enough for google?
On 15 Nov, 09:30, Terry Reedy tjre...@udel.edu wrote: greg wrote: [Shed Skin] These restrictions mean that it isn't really quite Python, though. Python code that only uses a subset of features very much *is* Python code. The author of ShedSkin makes no claim that is compiles all Python code. Of course, Shed Skin doesn't support all the usual CPython features, but the code you would write for Shed Skin's benefit should be Python code that runs under CPython. It's fair to say that Shed Skin isn't a complete implementation of what CPython defines as being the full Python, but you're still writing Python. One can argue that the restrictions imposed by Shed Skin inhibit the code from being proper Python, but every software project has restrictions in the form of styles, patterns and conventions. This is where the Lesser Python crowd usually step in and say that they won't look at anything which doesn't support the full Python, but I think it's informative to evaluate which features of Python give the most value and which we could do without. The Lesser Python attitude is to say, No! We want it all! It's all necessary for everything! That doesn't really help the people implementing proper implementations or those trying to deliver better-performing implementations. In fact, the mentality that claims that it's perfect, or it will be if we keep adding features could drive Python into a diminishing niche over time. In contrast, considering variations of Python as some kind of Greater Python ecosystem could help Python (the language) adapt to the changing demands on programming languages to which Go (the Google language, not Go! which existed already) is supposedly a response. Paul P.S. And PyPy is hardly a dud: they're only just getting started delivering the performance benefits, and it looks rather promising. -- http://mail.python.org/mailman/listinfo/python-list
Re: ANN: WHIFF += Mako treeview url rewrites
On 27 Okt, 18:26, Aaron Watters aaron.watt...@gmail.com wrote: Alex sent me the traceback (thanks!) and after consulting the logs and the pages I figured out that the version of Firefox in question was not ignoring my javascript links like it should. Instead FF was interpreting them as HTTP links to pages that didn't exist -- which is perfectly idiotic -- so WHIFF was complaining that it couldn't find the page (which is correct). Were you using javascript: URLs in the links before? Maybe using the onclick attribute is more appropriate for JavaScript-specific actions: http://www.w3.org/TR/1999/REC-html401-19991224/interact/scripts.html#adef-onclick Anyway, you shouldn't see this buglet any more -- if you don't have javascript you will get a nice polite message saying that the page doesn't work unless javascript is enabled. http://aaron.oirt.rutgers.edu/myapp/GenBankTree/index I still don't see why you couldn't have a non-JavaScript version. Think of all the people wanting to use Python to screen-scrape the content! ;-) Paul P.S. Although people not running JavaScript on every page by default are often criticised as being modern-day Luddites, and I too used to have JavaScript running for everything, a few annoying experiences led me to installing NoScript just to stop stupid CPU-wasting advertisements. Useful sites employing JavaScript probably suffer from the effects of such antics, unfortunately, which is one reason I advocate supporting non-JavaScript browsers. -- http://mail.python.org/mailman/listinfo/python-list
Re: ANN: WHIFF += Mako treeview url rewrites
On 27 Okt, 03:49, Aaron Watters aaron.watt...@gmail.com wrote: WHIFF now includes components for implementing tree views for web navigation panes or other purposes, either using AJAX or frame reloads. Try the GenBank demo at http://aaron.oirt.rutgers.edu/myapp/GenBankTree/index This looks interesting, but when I have JavaScript switched off, I get a big traceback page which indicates that the application doesn't understand the normal link on each of the nodes of the tree. I imagine that the ideas is to have the application functional with and without JavaScript, which is a worthy objective forgotten by many Web developers these days. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: how to write a unicode string to a file ?
On 16 Okt, 01:49, Benjamin Kaplan benjamin.kap...@case.edu wrote: Unicode is an abstract concept, and as such can't actually be written to a file. To write Unicode to a file, you have to specify an encoding so Python has actual bytes to write. If Python doesn't know what encoding it should use, it defaults to plain ASCII which is why you get that error. fh.write(line.encode('UTF-8')) Or use the codecs module to open files and streams for Unicode usage: import codecs fh = codecs.open(filename, w, encoding=UTF-8) fh.write(line) Unicode isn't as much abstract as it is a definition of character values which must be encoded in a specific way when read from or written to a file or stream, but I think we're in agreement on this, anyway. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: cx_freeze problem on Ubuntu
On 1 Okt, 16:08, John j...@nospam.net wrote: I downloaded the cx_freeze source code fromhttp://cx-freeze.sourceforge.net/into a directory. [...] From here:http://linux.softpedia.com/get/Programming/Assembler-Tools/cx-Freeze-... the directions state: What about the documentation available from the SourceForge project? I don't know how reliable or up-to-date the Softpedia stuff is, given that they're apparently aggregating content from elsewhere on the Internet. [...] As far as I can tell, no one else has ever posted this problem so I don't know what corrective actions to make. I'd greatly appreciate any assistance. The author appears to use the mailing list for cx_Freeze: https://lists.sourceforge.net/lists/listinfo/cx-freeze-users Perhaps you can get some help in that forum. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Distributing Python-programs to Ubuntu users
On 25 Sep, 08:15, Olof Bjarnason olof.bjarna...@gmail.com wrote: Hi! I write small games in Python/PyGame. I want to find a way to make a downloadable package/installer/script to put on my webpage, especially for Ubuntu users. I've skimmed a couple of tutorials on how to generate .deb-files, but, wow, it's a whole new skill set to do that! If you start simple and don't have to produce extension modules, it's not too bad, but finding all the right tools is an awkward task. I'm not sure that I've really mastered the craft yet. Does anyone have any hint on a more economic way of creating single-file distribution packages for Python+PyGame projects? Maybe some GUI-tool that automates the .deb file creation process, but targetting Python specifically and not C++. You could take a look at this PyGame project: http://www.infukor.com/rally7.html The sources contain packaging infrastructure for Debian/Ubuntu, and you could certainly adapt that for your own purposes. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Distributing Python-programs to Ubuntu users
On 25 Sep, 09:26, Donn donn.in...@gmail.com wrote: You could use distutils (setup.py) and include a readme that explains what apt-get commands to use to install pygame, etc. Generally it's better to *not* include the kitchen-sink with your apps; rather expect the user to have those libraries already or be able to fetch them with ease. The various package installers and dpkg will probably complain about missing packages, but one could go all the way and set up a repository which works with apt-get. I did something elementary of this nature with some Shed Skin packages: http://packages.boddie.org.uk/ There will undoubtedly be things I haven't quite done right here, but it would give a reasonable installation experience, although there would need to be a number of packages available through the repository for the configuration exercise to be worthwhile. I did my best at explaining that deeply confusing setup.py process here:http://wiki.python.org/moin/Distutils/Tutorial This is a nice tutorial, and I'll have to see if I can contribute anything to it later. I have also seen two other approaches: 1. A new app called 'Quickly' which is some kind of magical auto-do- everything-ubuntu connected to Launchpad. From what I hear it sounds very cool.https://wiki.ubuntu.com/DesktopTeam/Specs/Karmic/Quickly 2. The Ubuntu PPA repositories -- google around. (Seems Quickly does this too) The problem with some Ubuntu stuff, sadly, is that the maintainers like to have their own special toolset which isolates them from the more general Debian ways of working. In addition, Launchpad, despite its recent open-sourcing (in most respects), is perceived as something of a walled garden. Still, if it contributes good ideas to the mainstream, I suppose it's not all bad. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Distributing Python-programs to Ubuntu users
On 25 Sep, 13:21, Olof Bjarnason olof.bjarna...@gmail.com wrote: I am thinking of two target audiences: 1. Early adopters/beta-testers. This would include: - my non-computer-geek brother on a windows-machine. I'll go for py2exe. - any non-geek visiting my blog using windows (py2exe) I'd really like to hear of any positive experiences making installers involving PyGame for any system, but especially for Windows using cross-compilation of Python and library dependencies from non-Windows systems with tools such as gcc for mingw32. - any geeks visiting my blog that use Ubuntu (tell them about the PPA-system) - any geeks visiting my blog that are non-Ubuntu (i'll just provide the source code and tell them to apt-get python-pygame) Typically, applications such as games written to use PyGame can just run out of their distribution directory if that's good enough. You can go to all kinds of lengths to make the game comply with packaging standards and appear in the desktop menus - the latter is actually quite easy within the Debian packaging infrastructure once you know how - but it's not really necessary. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Distributing Python-programs to Ubuntu users
On 25 Sep, 23:14, Olof Bjarnason olof.bjarna...@gmail.com wrote: So what approach do you suggest? I've gotten as far as understanding how to add menu-items to the Ubuntu menus, simple .desktop file format to do that. Yes, xdg-desktop-menu will probably do the trick. One could cheat and write an install.sh script that adds the appropriate menu item, sudo-apt-gets the PyGame dependency (python is there by default in Ubuntu). The menu item could point to the download directory simply.. I suppose the distribution of simple archives isn't enough if you want the dependency to be pulled in. I personally would therefore just make some quite simple Debian/Ubuntu packaging and distribute a .deb file - I believe most distributions of this flavour have a graphical tool which will offer to install such packages if downloaded, and the whole sudo business would be taken care of by such a tool. This isn't how I obtain software, however, so you might want to experiment a little. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Is there a concerted effort afoot to improve the Python Wiki?
On 21 Sep, 02:52, s...@pobox.com wrote: I've noticed over the past few weeks a huge increase in the frequency of edits in the Python wiki. Many of those are due to Carl Trachte's work on non-English pages about Python. There are plenty of other pages going under the knife as well though. Is there some community movement people are aware of to wrangle the wiki into better shape? I see that the SiteImprovements page has seen some action: http://wiki.python.org/moin/SiteImprovements I've added a few things which have been on the to do list for a while now. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: python profiling for a XML parser program
On 19 Sep, 21:19, MacRules macru...@none.com wrote: Is there a python profiler just like for C program? And tell me which functions or modules take a long time. Can you show me URL or link on doing this task? Having already looked at combining Python profilers with KCachegrind (as suggested by Andrew Dalke at EuroPython 2007), I discovered the following discussion about the tools required: http://ddaa.net/blog/python/lsprof-calltree I found the following script very convenient to generate profiler output: http://www.gnome.org/~johan/lsprofcalltree.py You can then visualise the time spent by just passing the output file to KCachegrind: http://kcachegrind.sourceforge.net/html/Home.html The map of time spent in each function is extremely useful, I find. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: pyjamas pyv8run converts python to javascript, executes under command-line
On 18 Sep, 23:17, lkcl luke.leigh...@googlemail.com wrote: the pyjamas project is taking a slightly different approach to achieve this same goal: beat the stuffing out of the pyjamas compiler, rather than hand-write such large sections of code in pure javascript, and double-run regression tests (once as python, second time converted to javascript under pyv8run, d8 or spidermonkey). anyway, just thought there might be people who would be intrigued (or horrified enough to care what's being done in the name of computer science) by either of these projects. I've added pyjamas to the implementations page on the Python Wiki in the compilers section: http://wiki.python.org/moin/implementation The Skulpt implementation, already listed by Cameron Laird on his page of Python implementations, is now also present, although using it is a bit like using various 8-bit microcomputer emulators which assume a UK keyboard and ignore the replacement keys on my own non-UK keyboard. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: OpenAnything
On 17 Sep, 23:24, kj no.em...@please.post wrote: In Dive Into Python, Mark Pilgrim offers the function openAnything that can open for reading anything (i.e. local files or URLs). I was wondering if there was already in the standard Python library an official version of this, that could not only open (for reading) regular files and URLs, but also other data sources such as compressed files. Not in the standard library, but available from the package index: http://pypi.python.org/pypi/desktop The desktop.open function just wraps other mechanisms for opening/ launching files or URLs. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: can python make web applications?
On 16 Sep, 18:31, lkcl luke.leigh...@googlemail.com wrote: http://pyjs.org/examples/timesheet/output/TimeSheet.html I get this error dialogue message when visiting the above page: TimeSheet undefined list assignment index out of range Along with the following in-page error, once the data has been imported: JavaScript Error: uncaught exception: list assignment index out of range at line number 0. Please inform webmaster. It looks quite nice, though. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Problem with the inclusion of new files like lxml, django, numpy, etc.
On 14 Sep, 04:46, alex23 wuwe...@gmail.com wrote: joy99 subhakolkata1...@gmail.com wrote: What is the problem I am doing? Following the wrong installation instructions? The wrong instructions appear to come from this page: http://docs.djangoproject.com/en/dev/topics/install/ Those instructions are really for Django core developers. Anyone not actually working on Django itself should be looking here instead: http://docs.djangoproject.com/en/dev/topics/install/#installing-offic... Unpacking a module somewhere _other_ than site-packages and running setup.py is a fairly common installation pattern with python. Agreed. I don't understand why the download file would be a winrar file, but I guess this is just Windows getting confused about the file type. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: An assessment of the Unicode standard
On 30 Aug, 18:00, r rt8...@gmail.com wrote: Hold the phone Paul you are calling me a retarded bigot and i don't much appreciate that. I think you are completely misinterpreting my post. i and i ask you read it again especially this part... I didn't call you a retarded bigot, and yet I did read your post. [...] I don't really care what language we adopt as long as we choose *only* one and then seek to perfect it to perfection. And also that this *one* language use simplicity as it's model. English sucks, but compared to traditional Chinese and Egyptian Hieroglyphs it's a god send. You don't care which language it is as long as it's the one you use. That's what this sounds like, layered on top of what you've already written (and what you write below). How about Esperanto? You have heard of Esperanto, right? Or take your pick from the other artificial languages - they're relatively popular in some places where English isn't the natural first-choice foreign language. [...] Look history is great but i am more concerned with the future. Learn the lessons of the past, move on, and live for the future. If you want to study the hair styles of Neanderthal women be my guest. Anybody with half a brain knows the one world government and language is coming. Why stop evolution, it is our destiny and it will improve the human experience. Again, we witness a distortion of scientific concepts through the use of political themes. [Warning: facts of life ahead!!] Even Xah Lee's harshest critics must acknowledge that Xah delivers a less offensive, more entertaining rant than this. At least Xah has mastered the art of the expletive. I'll bet you weep and moan for the native Americans who where slaughtered don't you? Yes they suffered a tragic death as have many poor souls throughout history and yes they also contributed to human history and experience, but their time had come and they can only blame themselfs for it. You're on a slippery slope when you claim that people deserve whatever mistreatment or misfortune comes their way through mere circumstances of birth. I suggest you step back and actually read your messages again and consider how others might interpret them. I also suggest that, unless you really wish to discuss deficiencies of Unicode with respect to Python, you don't use this list/group as a discussion forum for your ill-informed notions of progress, but instead take them to a more appropriate forum where I'm sure people will be happy to scrutinise your ideas at their leisure. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: An assessment of the Unicode standard
On 31 Aug, 00:28, r rt8...@gmail.com wrote: I said it before and i will say it again. I DONT CARE WHAT LANGUAGE WE USE AS LONG AS IT IS A MODERN LANGUAGE FOUNDED ON IDEALS OF SIMPLICITY [Esperanto] English is by far already the de-facto lingua franca throughout the world. You don't care, but here it comes: English! And is it a language founded on ideals of simplicity? I suggest you familiarise yourself with the history of the English language. [...] You can deny the holocaust all you want but it still happened and so too shall the great unity! Sadly because of cultural and social fanatics like yourself, it will probably take another great war to usher in the new order. Now you are just being offensive. [...] So you are advocating for me to use derogatory statements in my post, no thanks i need not resort to adolescent rants to argue my points. So what was the bulk of your opening message in this thread or the kind of gutter remarks made above if not adolescent rants? And why do you continue to compare me to XL. Has XL *ever* helped a python user in this forum? I have, many times. I am *actually* a python programmer who cares about Python and my posts bring much vigor and intelligence to an otherwise boring NG -- like me or not. Whether you actually care about Python or not, I repeat my suggestion that you take rants of this nature out of this forum and to a more appropriate place. At the very time the community seeks to increase diversity, such material is not only insensitive towards those who do not share your own cultural and political background, it also demonstrates a total lack of awareness of the kind of community people are trying to build and sustain. And don't give us the livening up the newsgroup excuse. The only reason people use newsgroups like this for their political posturing is analogous to a football player bursting into a chess club and claiming superiority in his own sport over those whose pastime has been interrupted: he knows that in a more suitable venue, his inadequacy would quickly be revealed by active practitioners of the discipline. Take your material elsewhere - maybe then the historians, linguists and sociologists will give you the tuition you so richly deserve! Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: An assessment of the Unicode standard
On 30 Aug, 14:49, r rt8...@gmail.com wrote: It can be made better and if that means add/removing letters or redefining what a letter represents i am fine with that. I know first hand the hypocrisy of the English language. I am thinking more on the lines of English redux! Elsewhere in this thread you've written... This is another quirk of some languages that befuddles me. What is with the ongoing language pronunciation tutorial some languages have turned into -- French is a good example (*puke*). Do you *really* need those squiggly lines and cues above letters so you won't forget how to pronounce a word. Pure ridiculousness! And, in fact, there have been schemes to simplify written English such as Initial Teaching Alphabet: http://en.wikipedia.org/wiki/Initial_Teaching_Alphabet I imagine that this is the first time you've heard of it, though. [...] We already live in a Orwellian language nightmare. Have you seen much change to the English language in your lifetime? i haven't. Then you aren't paying attention. Especially in places where English isn't the first language, there is a lot of modification of English that is then considered an acceptable version of the language - this is one way in which languages change. Elsewhere, you wrote this... What makes you think that diversity is lost with a single language? I say more pollination will occur and the seed will be more potent since all parties will contribute to the same pool. Parties are contributing to the same language already. It's just not the only language that they contribute to. From what you've written, I get the impression that you don't really know any other languages, don't have much experience with non-native users of your own language, are oblivious to how languages change, and are oblivious to the existence of various attempts to improve the English language in the past in ways similar to those you appear to advocate, albeit incoherently: do you want to know how to pronounce a word from its spelling or not? Add to that a complete lack of appreciation for the relationship between language and culture, along with a perverted application of evolutionary models to such things, and you come across as a lazy cultural supremacist who regards everyone else's language as superfluous apart from his own. If you're just having problems with UnicodeDecodeError, at least have the honesty to say so instead of parading something not too short of bigotry in a public forum. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: ubuntu dist-packages
On 27 Aug, 15:27, Diez B. Roggisch de...@nospam.web.de wrote: You mean it's the problem of the python packaging that it can't deal with RPMs, debs, tgzs, OSX bundles, MSIs and put-in-the-next-big-packaging-thing-here? No, it's the problem of the Pythonic packaging brigade that package retrieval, building and installing is combined into one unsatisfactory whole. Certainly, it's annoying to discover when building some extension that the Python headers are missing, but the rhetorical vehicle used in the Python community is to frame the distributions as people who like to move stuff around unnecessarily and to corrupt other people's work. In fact, the distributions have proven themselves to be quite competent at managing huge numbers of software packages in a semi-automated fashion, so it's baffling that people doing work on Pythonic packaging tools wouldn't want to learn as much as they can about how those people manage it. For me, when making Debian packages, it has become easier to use the debhelper stuff to install things like documentation and resources than it is to figure out which special options have to be passed to the particular distutils incarnation of the setup function in order to get such stuff put in the right place, especially since distutils probably still employs an ad-hoc 1990s proprietary UNIX oh just dump that stuff in some directory or other and forget about it mentality. Really, distutils should be all about *dist*ribution and even then get out of the way as much as possible - the hard stuff is extracting the appropriate knowledge about the built Python interpreter in order to build extensions. Installation should be left to something which has an opinion about where things should be placed on a particular system, and which has the capability to know how to uninstall stuff - a capability which never seems to get any closer in the distutils scene. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: ubuntu dist-packages
On 26 Aug, 17:48, Jorgen Grahn grahn+n...@snipabacken.se wrote: Well, if you are thinking about Debian Linux, it's not as much ripping out as splitting into a separate package with a non-obvious name. Annoying at times, but hardly an atrocity. Indeed. Having seen two packages today which insisted on setuptools, neither really needing it, and with one actively trying to download stuff from the Internet (fifteen seconds warning - how generous!) when running setup.py, it seems to me that it isn't the distribution packagers who need to be re-thinking how they install Python software. Generally, distributions have to manage huge amounts of software and uphold reasonable policies without creating unnecessary maintenance. Sadly, until very recently (and I'm still not entirely sure if there's really been an attitude change) the Pythonic packaging brigade has refused to even consider the needs of one of the biggest groups of consumers of the upstream code. Consequently, distributions will always devise different ways of storing installed Python software, documentation and resources, mostly because the Pythonic tools have been deficient, particularly in the management of the latter categories. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Help with libxml2dom
On 19 Aug, 13:55, Nuno Santos nuno.hespan...@gmail.com wrote: I have just started using libxml2dom to read html files and I have some questions I hope you guys can answer me. [...] table = body.firstChild table.nodeName u'text' #?! Why!? Shouldn't it be a table? (1) You answer this yourself just below. table = body.firstChild.nextSibling #why this works? is there a text element hidden? (2) table.nodeName u'table' Yes, in the DOM, the child nodes of elements include text nodes, and even though one might regard the whitespace before the first child element and that appearing after the last child element as unimportant, the DOM keeps it around in case it really is important. [...] It seems like sometimes there are some text elements 'hidden'. This is probably a standard in DOM I simply am not familiar with this and I would very much appreciate if anyone had the kindness to explain me this. Well, the nodes are actually there: they're whitespace used to provide the indentation in your example. I recommend using XPath to get actual elements: table = body.xpath(*)[0] # get child elements and then select the first Although people make a big song and dance about the DOM being a nasty API, it's quite bearable if you use it together with XPath queries. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Social problems of Python doc [was Re: Python docs disappointing]
On 18 Aug, 05:19, ru...@yahoo.com wrote: Yes, I agree. I should have mentioned this as an exception in my wikis suck diatribe. Although it far better than most wiki's I've seen, it is still pretty easy to find signs of typical wiki-ness. On the Documentation page my first click was on AnnotableDocumentation: 404. Well, Annotatable Documentation is an external link. All we can do in such cases is to tidy such stuff up, mark it as invalid, or remove it. Second try, DoumentationDiscussion: two very short paragraphs dated 2003. Right. There are parts of the Wiki which were used actively in the past but which have fallen into disrepair. Some pages lack focus - they've been created according to old school Wiki conventions which I regard as being somewhat obsolete (just creating new pages all over the place to cover whatever happens to be in the writer's head at the time) - and every now and again, I attempt to rationalise these pages and focus their content. After that I found some useful (in general though not what I was looking for) information but not a good first impression. (Well not exactly first, in fairness I have used other wiki sections such as the Templating page and found them very useful.) It needs work, of course. [...] I took a look at the PHP docs last night which seem pretty well done. The User Comments looked rather as I expected, there was useful info but most did not contain documentation quality writing. So if they are used as a source for improving the docs, there clearly must be a pretty large amount of editorial effort required, although much of it is probably just filtering out comments that don't provide any information appropriate for inclusion in the docs. They list 38 names under User Note Maintainers (http://www.php.net/manual/en/preface.php) Unfortunately I couldn't find a description of what these people actually do. I don't know how much work was involved in removing the comments that are no longer there. Indeed. There's always the editorial bottleneck unless it's a total free-for-all situation. I've remarked before about how user comments don't necessarily add significantly to documentation, which is an assertion that some people make, and there definitely does need to be a process of integrating the best feedback into the main work. The crucial difference between a Wiki and an annotation system is the combination of the contribution and editorial aspects in a Wiki - you edit the actual work, and people can decide whether it's a good edit or not - in contrast to their separation in most annotation systems. In some cases, strict annotation systems are probably better: the GPLv3 annotation system was oriented towards discussion of the text, and that's not so effectively done in a Wiki. Again, I don't mean to sound like I am dissing the idea of annotatable docs -- I think it is a good idea and will provide useful supplementary information. Where there's a separation of annotation and editing, I worry about the editorial bottleneck. I also worry about handprint edits more generally, where people just want to leave their touch on the work without actually contributing anything of substance. But I continue to question whether this will result in improvements in the docs themselves (which is my main interest) unless: 1. The purpose of the wiki is clearly marketed as soliciting suggestions, rewrites, etc destined ultimately for inclusion in the docs. I'm happy to see tangential work rather than stuff which fills exactly the same role as the current documentation. For example, the Python module of the week articles (PyMOTW, [1]) are exactly the kind of tangential work that could be encouraged, even though that is not so much a collaborative work itself. Paul [1] http://www.doughellmann.com/PyMOTW/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Diversity in Python (was Re: Need cleanup advice for multiline string)
On 17 Aug, 19:23, Jean-Michel Pichavant jeanmic...@sequans.com wrote: Are you suggesting this list reject part of the community regarding its sexual orientation, ethnicity, size, culture? If that was the case I'd like to know about it. Careful: you probably meant to write rejects, not reject. That changes the meaning of what you've written somewhat. I would really want to know how you'd guess my gender (could be some clue somewhere), my sexual orientation, my religion and so on. How can you reject someone regarding informations you don't have ? Well, everyone can of course hide their actual identity on the Internet, but when someone references a group of people with a juvenile remark (if we are being charitable about the matter), it has nothing to do with guessing the characteristics of individuals. The whole excuse that anonymity defends against insults and harassment is a bit like saying that slinging mud at everyone is acceptable as long as everyone is encouraged to do it and nobody is wearing their nicest clothes. And unless your idea of a Python-related conference is something close to a fancy-dress event with everyone in character - which would obviously limit the effectiveness of such an event - you presumably understand that there is a genuine need for continuity between interactions on and off the Internet. This somewhat undermines your argument. That's the beauty of this mailing list, it has diversity, by design. An explanation is needed here for this not to sound like conversational padding. We even welcome people that mixes up joke with sexist aggression, not to mention how open minded we are :o) Well, jokes actually need an amusing side, regardless of how edgy (juvenile is typically the more accurate term) the joke- teller is trying to be, and that was completely absent from the remark in question. There's little room for error in communication over a medium like this one, as I pointed out with your opening sentence. And much as it probably upsets the unfettered free speech advocates, we should be able to assert that sexist aggression is not acceptable behaviour amongst those who seek to participate in our community. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Social problems of Python doc [was Re: Python docs disappointing]
On 13 Aug, 16:05, ru...@yahoo.com wrote: All the above not withstanding, I too think a wiki is worth trying. But without doing a lot more than just setting up a wiki, I sadly believe even a python.org supported wiki is doomed to failure. The ones on python.org seem to function reasonably well. I accept that they could be more aggressively edited, but this isn't done because there's a compromise between letting people contribute and keeping things moderately coherent, with the former being favoured. For other purposes, it would be quite acceptable to favour editorial control. I won't argue that providing infrastructure solves a problem - that's precisely the kind of thing I was criticising when I noted that some people will readily criticise the choice of tools to do a job instead of focusing on the job that has to be done - and you need people who are reasonably competent editors, but Wiki solutions remove a lot of technical barriers. I'm not arguing for the flavour of Wiki which implies unfettered, anonymous access from everyone on the Internet, either: the kind of Wiki that detractors portray all Wiki solutions as being in order to further their super-special it has to fit like a glove or it's totally unusable software agenda. It's quite possible to have people with somewhat more privileges than others in order to keep the peace, and they don't all need to have an entrenched editorial interest: on the current python.org Wiki sites, most of the administrators don't have an active interest in most of the content, but they are able to exercise control when it's clear that some contributors aren't particularly interested in actually improving the content. As well as having an active community effort around the existing python.org Wiki sites, there are also people who are interested in improving these offerings. What worries me is that despite such activity and such interest, many people will continue to lament the lack of vitality (or whatever other metric) of the general python.org offering, whilst retaining a blind spot for the obvious contribution that the Wikis can make to such improvement efforts. I encourage people to use wiki.python.org a lot more, should they be looking to improve the wealth of information provided by the community. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Social problems of Python doc [was Re: Python docs disappointing]
On 12 Aug, 09:58, Steven D'Aprano ste...@remove.this.cybersource.com.au wrote: We know that there are problems. We've said repeatedly that corrections and patches are welcome. We've repeatedly told you how to communicate your answer to the question of what should be done. None of this is good enough for you. I don't know what else you expect. Maybe the problem is that although everyone welcomes contributions and changes (or says that they do), the mechanisms remain largely beyond criticism. Consequently, one sees occasional laments about there not being enough people contributing to Python core development and soul- searching about the reasons this might be so. If it were insisted that changes to, say, Wikipedia were to be proposed by submitting a patch or report for perusal by the editors and for future inclusion in some version of the project, the whole project would most likely be a shadow of its current self, and ambitions of large-scale collaborative editing in general would still be ridiculed. A free-for-all isn't likely to be the best solution for more actively edited Python documentation, but Wiki solutions undeniably provide a superior fast path for edits by trusted users to be incorporated and published in accessible end-user documentation. Almost every analysis of the current (and previous) documentation mechanisms has identified the editorial workflow as a bottleneck and then proceeded to replicate such a bottleneck in any proposed solution. I'm starting to believe that there's a certain snobbery about Wiki solutions which lead many people to develop all sorts of short-term, arcane solutions under the illusion that something super-special and customised is necessary and that they have to start virtually from scratch in order to cater to the ultra-special needs of the target audience; by the time they're done, no-one's interested any more, except to propose the next legacy system in the making. [...] That some of us choose to invest it somewhere other than Python does not deprive of of our right to point out problems in Python when we note them. Of course not. But it does mean that you won't be taken seriously, and you have no right to be taken seriously. That's an absurd position that has soured the reputation of numerous projects. When someone spends the time to write a bug report, they are often investing as much time and effort in something that they are able to in any productive sense. I make a habit of submitting bug reports to software distributions, typically so that the people who are responsible for the components involved can investigate the problem effectively. When the maintainers just close such reports or mark them with a number of different labels which mostly indicate that they consider those reports not worth their time, it sends the message that they consider their time to be vastly more important than their users, even though their users might have set aside an hour of their potentially busy schedule which might have meant sacrificing something else that should have taken higher priority (like time for sleeping, in my own personal experience). Thus, I've had the impression with some projects that I should be maintaining all sorts of stuff - the bootloader, the kernel, various desktop applications, Mozilla - all so that stuff actually gets fixed and that I'm not perceived as just another user whose bug reports aren't welcome. I don't find this reasonable at all when in many cases there *are* people getting paid to do these jobs. The Python core developers seem more attentive than in various other projects, but please let us not establish the delicate genius mentality that has infested other projects to the point that any criticism is automatically labelled as ungrateful whining by people who supposedly don't use the software, have an axe to grind, and who are apparent simpletons who don't understand the revolutionary vision of the project leadership. If you think throwing away goodwill is an acceptable way of silencing complaints, please take a look at just about any article about KDE 4 that permits reader comments to see how much goodwill can be lost and what effect that has on a project's reputation. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Social problems of Python doc [was Re: Python docs disappointing]
On 12 Aug, 14:08, Steven D'Aprano st...@remove-this- cybersource.com.au wrote: With tens of millions of web users, it's no surprise that Wikipedia can attract thousands of editors. But this does not apply to Python, which starts from a comparatively tiny population, primarily those interested in Python. Have a look at the Wikipedia page for Python. What does the Python entry on Wikipedia have to do with editing the Python documentation in a Wiki? Once everyone has agreed that the description of Python on Wikipedia is reasonable, there's not much point in editing it, is there? In contrast, there's a continuous stream of people who don't think Python's documentation is that great. [...] A free-for-all isn't likely to be the best solution for more actively edited Python documentation, but Wiki solutions undeniably provide a superior fast path for edits by trusted users to be incorporated and published in accessible end-user documentation. And the Python time-machine strikes again: http://wiki.python.org/moin/ And I suggested that the complainants use it as a starting point. [...] Oh dear me. You mean that they don't agree that YOUR time is more important than theirs??? What horrible people they must be, to expect you to sacrifice some of your sleep time just so *they* can get some sleep themselves!!! Who do they think they are??? That's quite an attempt to make my position more extreme than it actually is. I get people asking me to improve my own software, you know, and even if I don't have the time or inclination to do what they ask, I do spend time discussing it with them. Such people, including myself when I'm on the other side of the fence, appreciate more than just a brush-off and no: they don't insist that their own time be valued above anyone else's (as you would have me misrepresented); they just ask that their own efforts aren't treated as having no value because they're not part of the elite development team. You get various projects doing soul-searching about embracing the efforts of non-programmers, and the first port of call on that particular voyage is to not treat them like idiot consumers whose remarks can only be considered as mere heckling while the visionaries act out their flawless production. Paul P.S. The mention of social problems ties in with other remarks made recently, and I've increasingly found it more trouble than has been worthwhile to pursue Python-related matters of late. When one tries to encourage people to participate in improving various things, which usually means the community having to accept a degree of criticism, people claim that it's encouraging undesirable influences to point such critics in the right direction instead of showing them the door. When one tries to pursue such improvement matters oneself, people always have something to say about the choice of technology or whether they like the particular background colour being used or indeed have an opinion, typically shallow and negative, about anything but the task at hand, and there'll always be someone queuing up to dismantle anything that does get done at the first opportunity. In contrast, I've found other groups of people to be grateful for even modest technical assistance, and I know that such people are much more likely to get my support and input in the future than those who think that it's some kind of advantage to have potential contributors run the gauntlet of denial (that there are structural problems in their project), skepticism (that newcomers can have anything to contribute), discouragement (because any solution which doesn't validate someone's technology preferences must be criticised) and, indeed, outright hostility. One can always spend one's time doing something which isn't 100% enjoyable or 100% rewarding if one feels that the time is still being spent on something worthwhile. I'm getting the feeling that lots of Python-related stuff doesn't quite satisfy such criteria any more. -- http://mail.python.org/mailman/listinfo/python-list
Re: Social problems of Python doc [was Re: Python docs disappointing]
On 12 Aug, 17:08, Steven D'Aprano st...@remove-this- cybersource.com.au wrote: On Wed, 12 Aug 2009 06:24:18 -0700, Paul Boddie wrote: What does the Python entry on Wikipedia have to do with editing the Python documentation in a Wiki? Good question. I was responding to you mentioning Wikipedia as a possible role model for the Python docs. Yes, but claiming that only a few people want to edit a single entry on one site (admittedly a popular one) isn't the same as saying that few people would edit a documentation Wiki covering numerous different things. A bunch of people edit the existing Python Wiki now, although there's not that much direction behind it. [...] It's not the people who suggest improvements to the docs that are the problem, but the ones who insist that the docs are terrible, but aren't willing to do anything but complain. Oh, and trolls like ... I hesitate to mention his name in case he has a bot monitoring the list ... first name starts with X followed by ah, second name sounds like Mee ... who even if they make a few good points, they're lost in a sea of insults to others, arrogance and self-aggrandisement. Right, but those good points are still worth taking on board. There have been Xah Lee posts which have been relatively constructive, but when the only responses are from people who see the name and can't be bothered reading the message before issuing a stock he's a troll response, the tone is likely to remain vulgar from that point onwards. Xah Lee can be quite coherent and rational on comp.lang.lisp, which is more than can be said for a number of regulars on that group. [...] P.S. The mention of social problems ties in with other remarks made recently, and I've increasingly found it more trouble than has been worthwhile to pursue Python-related matters of late. When one tries to encourage people to participate in improving various things, which usually means the community having to accept a degree of criticism, people claim that it's encouraging undesirable influences to point such critics in the right direction instead of showing them the door. Can you point me to a discussion where this has happened? I won't name names as in some cases I've corresponded privately with various people who have been perceived to be trolls (as you put it above) and who have had the don't talk to them responses from various regulars. Some people criticise in apparently unacceptable ways for their own amusement, but most critics do so because they are unaware of any better way and aren't aware of the most effective methods to fix the issues that bother them, and this latter group is clearly invested in finding solutions because they could quite easily go and use something else. Certainly, I wouldn't spend my time repeatedly enumerating the problems with a piece of technology if no- one were interested in helping me do something about them. When one tries to pursue such improvement matters oneself, people always have something to say about the choice of technology or whether they like the particular background colour being used You've discovered bike-shedding. or indeed have an opinion, typically shallow and negative, about anything but the task at hand, When you're agitating for change, anyone defending the status quo has opinions which are shallow and negative. When you're happy with the status quo, possibly even for good, rational reasons and not just because you're a shallow-minded, ignorant, know-nothing nay-sayer, it's those agitating for change who have shallow and negative opinions. It's such a bother trying to determine who is right, so I prefer to just accuse the other guy of being shallow and negative rather than try to understand his point of view. I find it saves time in the long run. I can expand what I've written to just about any project, improvement or otherwise, where there may not be an existing solution that anyone actually supports or is willing to use. And still, if you give people something they could use (which is better than effectively nothing), my experience is that in some communities your work, however trivial, will be appreciated. But I get the impression that in Python-related communities, it's all Why didn't you use XYZ? or What a toy! instead. [...] There seems to be a hidden assumption in your sentence that there *are* structural problems in the project. Let me assume that maybe the barriers aren't really that bad for Python documentation; that anyone who is really going to care about submitting something will jump through the hoops and deliver something that can be merged by the core developers. Even then, there's going to be a whole class of improvements that won't get made by outsiders and will fall on the editors to make. Now, more often than not, the people who are already the most overworked are precisely those in the position of reviewing and merging changes (as well as making their own), and surely
Re: Social problems of Python doc [was Re: Python docs disappointing]
On 11 Aug, 23:50, ru...@yahoo.com wrote: However, were the Python docs site to provide a wiki, along with a mechanism to migrate suggestions developed on the wiki into the docs, it might well be a viable (and easier because of the wysiwyg effect) way of improving the docs. As other have pointed out, Postgresql, PHP, and Haskell have done so. Now maybe there are good reasons not to do that. But your hand- waving is not one of them. I think you make some good points, although I don't have time to respond to all of them. Certainly, the documentation situation with Python is not ideal; otherwise, people would not be complaining about it so frequently. I recommend going to the existing Wiki and looking at what there is already: http://wiki.python.org/moin/Documentation http://wiki.python.org/moin/CategoryDocumentation Sadly, I don't think you'll find much to work with, apart from the occasional attempt to make an annotated version of the existing documentation: http://wiki.python.org/moin/PythonLibraryReference So my next recommendation is to either use the existing Wiki infrastructure or to ask for a separate Wiki for the purpose of reworking the documentation. You could either take the existing documentation, which I believe is now restructured text, and just drop that into the Wiki with the appropriate format directives (for later reworking in Wiki format, perhaps), or you could start afresh and tackle some of the more serious issues head on. I can see benefits to just starting from scratch. Perhaps the licensing should be more explicit than the existing material on the Wiki so that the documentation produced could be freely distributed without uncertainty, but the outcome would hopefully be something that stands on its own as an alternative or a replacement to the conventional documentation. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: JavaScript toolkits (was Re: ANN: Porcupine Web Application Server 0.6 is released!)
On 23 Jul, 05:55, a...@pythoncraft.com (Aahz) wrote: In article 1c994086-8c58-488f-b3b3-6161c4b2b...@k30g2000yqf.googlegroups.com, Paul Boddie p...@boddie.org.uk wrote: http://www.boddie.org.uk/python/XSLTools.html Thanks! I'll take a look after OSCON. The JavaScript parts of the framework are a bit complicated, I'll admit: you have to write some nasty-looking function calls with awkward arguments to send AJAX-style requests to the server. I've been meaning to employ a more declarative signals and slots approach so that you don't have to write in the page templates where the in-page updates should be expected: it's really the server code that determines this kind of thing, and so the server code should be able to say where it wants the page to be updated. Again, I'll try and put up some examples in the relatively near future that will make it easier for you to see if it's your kind of thing. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: JavaScript toolkits (was Re: ANN: Porcupine Web Application Server 0.6 is released!)
On 20 Jul, 18:00, a...@pythoncraft.com (Aahz) wrote: Out of curiosity, are there any JavaScript toolkits that generate code that degrades gracefully when JavaScript is disabled? You mean Web toolkits which use JavaScript, I presume. I have written (and use myself) a toolkit/framework called XSLForms (part of the XSLTools distribution) which supports in-page updates (AJAX, effectively) that degrade to vanilla whole-page requests if JavaScript is switched off: http://www.boddie.org.uk/python/XSLTools.html I've been meaning to have a few example applications running on that site to illustrate the point. Some people complain that by constraining the JavaScript functionality to merely enhance vanilla HTML/HTTP functionality, one is not using the full potential of the medium, but having used sites whose JavaScript has failed, thus preventing the use of those sites almost completely, I think that stacking AJAX-like stuff on top of normal stuff helps the majority of developers offer an accessible solution. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: psyco V2 beta2 benchmark
On 10 Jul, 04:54, Zac Burns zac...@gmail.com wrote: Where do you get this beta? I heard that Psyco V2 is coming out but can't find anything on their site to support this. I found the Subversion repository from the Psyco site: http://psyco.sourceforge.net/ - http://codespeak.net/svn/psyco/dist/ - http://codespeak.net/svn/psyco/v2/ It's not widely advertised, but I imagine that this is the correct repository. Navigating around on the codespeak.net site took me to the ViewVC instance which gives some date/time information that would confirm my suspicions: https://codespeak.net/viewvc/psyco/ A log of the development can be viewed here: https://codespeak.net/viewvc/psyco/v2/dist/?view=log Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: The meaning of = (Was: tough-to-explain Python)
On 8 Jul, 16:04, kj no.em...@please.post wrote: identifier = expression and not to those like, for example, identifier[expression] = expression or identifier.identifier = expression The former are syntatic sugar for certain namespace modifications that leave objects unchanged. The latter are syntactic sugar for certain object-modifying method calls that leave namespaces unchanged. Almost. The latter can modify namespaces - the objects themselves - but through properties or dynamic attribute access, they may choose not to modify such a namespace. Really, we can phrase assignment (=) as follows: thing = expression # make thing refer to the result of expression Here, thing has to provide something that can be made to refer to something else, such as a name within a namespace - the first and last of your cases - or an item or slice within a sequence - the special second case which is actually handled differently from the other cases. Meanwhile, the expression will always provide an object to refer to, never anything of the nature of thing referring to something else. In other words, if you have this... x[1] = y[2] ...then the expression which is y[2] will yield an object which is then assigned to x[1]. The concept of y[2] is not assignable - it must be fully evaluated and produce the object at location #2 in the sequence for assignment. I suppose you could say that the left-hand side thing is like a sign on a signpost which always points to a real place, not another sign on a signpost. You could stretch this analogy by treating sequences as signposts holding many signs, each adjustable to point to something different. Since signposts (not the individual signs) are located in real places, they would naturally be acceptable as targets of assignments: where the signs are allowed to point to. Indeed, this would be a world of signposts with the occasional primitive value mixed in to keep weary travellers interested. ;-) Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: IMPORTANT: I NEED TO HELP WITH ONE OF THE CORE DEVELOPERS
On 24 Jun, 15:22, Pegasus non...@nowhere.com wrote: I need help with an implementation of your interpreter under PSPE/PSP. There doesn't seem to be much of an intersection between the PSP and mainstream Python communities, so some more context may have been desirable here. [...] We believe that the trouble is in a routine of our Nanodesktop libc that can be a bottleneck. But we don't know which can be the interested routine (string ? memory allocation ?) It sounds like a job for a profiler. Maybe KCachegrind [1] along with some other tools might be of assistance. Paul [1] http://kcachegrind.sourceforge.net/cgi-bin/show.cgi/KcacheGrindWhat -- http://mail.python.org/mailman/listinfo/python-list
Re: Status of Python threading support (GIL removal)?
On 19 Jun, 21:41, Carl Banks pavlovevide...@gmail.com wrote: (Note: I'm not talking about releasing the GIL for I/O operations, it's not the same thing. I'm talking about the ability to run computations on multiple cores at the same time, not to block in 50 threads at the same time. Multiple cores aren't going to help that much in the latter case.) There seems to be a mixing together of these two things when people talk about concurrency. Indeed, on the concurrency-sig mailing list [1] there's already been discussion about whether a particular example [2] is really a good showcase of concurrency. According to Wikipedia, concurrency is about computations [...] executing simultaneously [3], not about whether one can handle hundreds of communications channels sequentially, although this topic is obviously relevant when dealing with communications between processing contexts. I agree with the over-rationalisation assessment: it's not convenient (let alone an advantage) for people to have to switch to C so that they can release the GIL, nor is it any comfort that CPython's limitations are acceptable for the socket multiplexing server style of solution when that isn't the kind of solution being developed. However, there are some reasonable tools out there (and viable alternative implementations), and I'm optimistic that the situation will only improve. Paul [1] http://mail.python.org/mailman/listinfo/concurrency-sig [2] http://wiki.python.org/moin/Concurrency/99Bottles [3] http://en.wikipedia.org/wiki/Concurrency_(computer_science) -- http://mail.python.org/mailman/listinfo/python-list
Re: Tool for browsing python code
On 16 Jun, 14:48, Lucas P Melo lukepada...@gmail.com wrote: Is there any tool for browsing python code? (I'm having a hard time trying to figure this out) Anything like cscope with vim would be great. Are you limiting your inquiry to text editors or IDEs, or are Web- based solutions also interesting? Often, convenient browsing tools index the code and try and provide reasonable links from the place where a particular name or symbol may be used to the definition of that name or symbol elsewhere in a system. Initially, for a Web-based code browser, I looked at LXR [1], but it seemed that OpenGrok [2] was probably a better solution except for the fact that it uses the usual Java parallel universe of Web and application servers. Meanwhile, there are pages on the python.org Wiki about IDEs, editors and documentation tools, all of which might be relevant here: http://wiki.python.org/moin/DevelopmentTools Paul [1] http://lxr.linux.no/ [2] http://opensolaris.org/os/project/opengrok/ -- http://mail.python.org/mailman/listinfo/python-list
Re: How to get the total size of a local hard disk?
On 15 Jun, 14:58, willgun will...@live.cn wrote: How to get the total size of a local hard disk? I mean total size,not free space. Which platform are you using? On a Linux-based system you might look at the contents of /proc/partitions and then, presumably with Python, parse the contents to yield a number of blocks for the hard disk in question. This quantity would then be converted into a more familiar measure. One might expect something like PSI to support this kind of activity... http://bitbucket.org/chrismiles/psi/ ...but I think it only really provides process-related information. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: unladen swallow: python and llvm
On 8 Jun, 12:13, bearophileh...@lycos.com wrote: The C code produced by ShedSkin is a bit hairy but it's 50 times more readable than the C jungle produced by Pyrex, where I have lost lot of time looking for the missing reference counts, etc. The C++ code produced by Shed Skin can actually provide an explicit, yet accurate summary of the implicit type semantics present in a program, in the sense that appropriate parameterisations of template classes may be chosen for the C++ program in order to model the data structures used in the original program. The analysis required to achieve this is actually rather difficult, and it's understandable that in languages like OCaml that are widely associated with type inference, one is encouraged (if not required) to describe one's types in advance. People who claim (or imply) that Shed Skin has removed all the dynamicity from Python need to look at how much work the tool still needs to do even with all the restrictions imposed on input programs. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Yet another unicode WTF
On 5 Jun, 03:18, Ron Garret rnospa...@flownet.com wrote: According to what I thought I knew about unix (and I had fancied myself a bit of an expert until just now) this is impossible. Python is obviously picking up a different default encoding when its output is being piped to a file, but I always thought one of the fundamental invariants of unix processes was that there's no way for a process to know what's on the other end of its stdout. The only way to think about this (in Python 2.x, at least) is to consider stream and file objects as things which only understand plain byte strings. Consequently, use of the codecs module is required if receiving/sending Unicode objects from/to streams and files. Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Yet another unicode WTF
On 5 Jun, 11:51, Ben Finney ben+pyt...@benfinney.id.au wrote: Actually strings in Python 2.4 or later have the ‘encode’ method, with no need for importing extra modules: = $ python -c 'import sys; sys.stdout.write(u\u03bb\n.encode(utf-8))' λ $ python -c 'import sys; sys.stdout.write(u\u03bb\n.encode(utf-8))' foo ; cat foo λ = Those are Unicode objects, not traditional Python strings. Although strings do have decode and encode methods, even in Python 2.3, the former is shorthand for the construction of a Unicode object using the stated encoding whereas the latter seems to rely on the error-prone automatic encoding detection in order to create a Unicode object and then encode the result - in effect, recoding the string. As I noted, if one wants to remain sane and not think about encoding everything everywhere, creating a stream using a codecs module function or class will permit the construction of something which deals with Unicode objects satisfactorily. Paul -- http://mail.python.org/mailman/listinfo/python-list