Published on

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. The State of the Python Community Leading the Python Tribe Steve Holden PyCon US, March 2009 I’d like to begin by thanking the Program Committee for the invitation to speak here today. I am honored that they believed I would have something worthwhile, and entertaining, to say. It’s not their fault if they are wrong.
  2. 2. whoami Chairman, Python Software Foundation President, Holden Web LLC Systems consulting and training shop Excellent Python training ... Author, Python Web Programming (2002) B.Sc. (hons), CITP, FBCS Just a few words of introduction if you don’t know me. I run my own business, which gives me a great deal of freedom to ignore my own financial best interests and spend volunteer time on the PSF. I was the chairman of the first three PyCons, and I have always been a great believer in the value of user communities (former Chairman on Sun UK User Group, former Treasurer of DECUS UK). PyCon’s long-term success vindicates my belief that the Python community indeed has something special to offer. The volunteers who have helped to put PyCon 2009 together, many of them with a long-term involvement in the enterprise, deserve our generous thanks. Yes, I wrote a book about Python. Seven years later the Python in it is, of course, out of date. But Glyph Lefkowitz, principal architect of the Twisted system, was kind enough to say that he thought its exposition of the principles and technologies was still relevant. I may write another book one day, but it’s rarely something you do for the money. Unless people are much more interested in what you have to say … My technical credentials are probably not as relevant to this talk as the fact that I have been noodling around with computers for over forty years, and have been a supporter and advocate of open source for over twenty. But I was only elected to Fellowship by the British Computer Society in December 2008, so I am still gratified enough to bore people by mentioning it.
  3. 3. Goals of This Talk Connect with “the Python community” Whatever that is … Highlight community activities Encourage greater participation When I was invited to give a talk, I thought quite a lot about how I could most effectively use the “face time” this would give me with the Python community. This also led me to consider exactly what I thought the Python community was, and I will touch on that shortly. It’s not often one gets the chance to talk directly to so many Python users at once. I decided it would be good to focus on some of the many positive things that the community has collectively achieved over the past few years. That will, I hope, make it more obvious that any criticism I may offer is intended to be constructive. Finally by encouraging the community as a whole to be more proactive I wanted to offer everyone assistance in implementing their own dreams and ambitions for Python. The Python community is already broad, but I hope that it can start to perceive itself more broadly than I believe it currently does.
  4. 4. The Python Community Who Is It, and What Does It Do? Something not often considered …
  5. 5. Who Is “The Community”? The PSF? Fewer than 100 members (January 2009) Python users? Mostly not core developers Contributors? Source, documentation, blogs, anything! Anyone who wants to join? I don’t think so While it’s easy to think of the Python Software Foundation as “the Python community” in fact it’s not, by a long chalk. The PSF is a largely self-selected group, and if it represents anything it represents the Python developers. Not all PSF members are committers, however, and many people other than developers have a valid interest in both the development of the language and its promotion. I would like to see the membership both grow and broaden. While it might be nice to think of everyone who uses Python as members of “the Python community” that definition is probably a little too broad. Some people treat Python purely as a tool, and some people are only interested in what they can get out of Python. The PSF occasionally has to deal with organizations and individuals who want to give the impression of community involvement but who are really just looking to see how they can profit from the language and its community. Fortunately there are many more who “get” open source, and willingly contribute what they can. Ultimately I see the Python community as a subset of those who are getting something out of using the language. So even someone who simply uses Spambayes to filter their Outlook email can be a community member if they are prepared to enthuse about its advantages in the context of its being a Python application.
  6. 6. Python Usage Nobody really 1400000 knows how many 1200000 Python users there 1000000 800000 2.5 are 2.6 600000 3.0 But usage is 400000 200000 growing 0 Sep Oct Nov Dec Jan Feb So we can expect a continual stream of Installer Downloads, 2008/9 … Companies often talk about “giving something back”, and that’s worthy enough. But it implies a need to take something out first, which is a somewhat exploitative approach. The Python license permits this, and it is responsible for much of Python’s growth, so we shouldn’t complain or worry about this exploitation. The people I feel are the real backbone of the community, however, are those who give their time and energy willingly to others. They write open source software and make it available, or give talks about Python, or write articles, or maintain web content, or blog about Python. So I see contribution as a key element of community membership, though I don’t want to limit the nature of the contributions that qualify someone to be regarded as a community member. Clearly the core developers are at the heart of the Python community. Each PyCon sees approximately half the attendance coming to their first Python conference, and many of those newcomers are also new to the language. We need to acknowledge that, and accommodate it in our published materials. If only one-tenth of language downloads are new users we would appear to be adding over 100,000 users per month!
  7. 7. There’s no evidence that Python noobs look like this. It’s just an attempt to introduce some visual light relief. I think that newbies are good for the language. They represent support for our ideas, and they bring new ideas with them. Some of those ideas may be a little half-baked, and many of them have already been considered and rejected for good reasons. But we can always educate newcomers about those reasons, and it’s important to stay in touch with the user base. Some of those ideas might actually be useful …
  8. 8. Noob Enthusiasm! I just started using python last week and I'm addicted. [ …] Man, I love Python ! Its so clean and easy to use. Its so complete. It complete. links into everything one way or another... Java, C, C++, Qt, KDE, KDE, SWT, Swing and probably more things that I don't know about. Python makes sense. Python is readable. [ …] I love how Python has object member lists in PyDev in Eclipse. It makes it easy to use and explore the language and objects. I wrote a simple command line serial emulator in about 10 minutes minutes using the PySerial library. Unbelievable. I see a lot of Python in my future. comp.lang.python, January 24, 2009 This is the kind of thing that crops up regularly on comp.lang.python. It demonstrates exactly the kind of enthusiasm that Python engenders in people who come across it for the first time. Much of it makes intuitive sense, and it really is good at integrating with other systems. People’s initial experience of the language is often very positive; we need to understand how to tap into these experiences and learn how to turn them into positive publicity.
  9. 9. What Do We Want Noobs To Think? The PSF rocks? Python rocks? I rock!? Get them feeling positive about Python use! So, how do we have new users “rocking out of the box”? Get the user excited about Python! What is Python’s marketing proposition?* * This phrase is more or less guaranteed to get up some people’s noses Python is such a great language we should think more deeply about how it makes the new user feel. In sales and marketing one is encouraged not to sell the features of a product, the things it can do for its owner, but instead to focus one the benefits the owner will get. We certainly shouldn’t be selling the Python Software Foundation: at best that’s just a vehicle. We shouldn’t even really be selling the language itself: we should be selling what the language can help you do, which is frankly more exciting than anything else anyway. Even after more than ten years as a Python programmer I am still enthusiastic about the language: that expresses its power to enthuse very well. Python can do so many remarkable things it shouldn’t be horribly difficult to put together some amazing demonstrations. It would, of course, take some effort. Hence the “Help Wanted” sign.
  10. 10. The Python Newbie Experience In so far as there’s a single place people would expect to go for information about Python that place is The web site has made great progress in recent years, but I have to wonder whether this is the first impression we want to be making. OK, having a spacewalking astronaut on the home page is cool but the main text isn’t calculated to shout about how cool Python is. It’s selling the features (what the language is) rather than the benefits (what Python can do for you). Where are the descriptions of cool projects? Where are the snippets of actual Python code so people can see for themselves how simple it is to understand this language? Where are the excited quotes from new and established users about how truly awesome Python can be? I don't see the infectious enthusiasm of the previous slide reflected here. I’d like to.
  11. 11. None of This Is Captivating So Python users can’t do cool things? Of course they can! Let’s make them easily available as demos! wxPython scores very well here “The user must do something cool in thirty minutes” --Kathy Sierra --Kathy So, it’s time for another revamp. Not, this time, in design – the design is still perfectly viable. It’s the content that needs revising, and the revisions need to stop focusing on the features (open source, object oriented, etc.) and start to sell the benefits (easy to use, large libraries, wide third party support, plays well with other languages, etc.) and showcase the diversity of the Python world. This means thinking a bit less about Python itself and a bit more about the potential and actual users of the language. It’s a difference of emphasis, but not one that intelligent people such as the Python community can’t handle. And hey, we can always get some support from marketing people if we really need it … Wouldn’t it be great if there were Python downloads that included stuff like the wxPython demo kit that would show off some of the more compelling applications developed in Python over the years?
  12. 12. This is a Nokia Series 60 ‘phone running a Python application My G1 does the same thing, but so far only in Java
  13. 13. The Nokia Internet tablets are programmable in Python. My rather aged 710 doesn’t come out to play much now, but it’s run PyGame in the past …
  14. 14. Unfortunately I didn’t retain the details of what this Python application is doing, but rendering ability like this gives the lie to the “interpreted languages can’t do graphics” myth
  15. 15. As does EVE Online, a real-time space simulation game (this is a real over-simplification) that supports over 50,000 simultaneous players
  16. 16. The US Geological Survey are also Python users, and produce some fascinating graphics
  17. 17. This little fellow is a Tux robot, programmed via a USB wireless transmitter (in the fish) and programmable in Python
  18. 18. And who could forget Galcon, that compelling Python application we all love to play
  19. 19. Phatch is a versatile batch processing program that can perform operations on whole trees of graphics. It’s a Python application based on the Python Image Library
  20. 20. No summary of Python applications would be complete without mention of Chicago crime. For a while this was the most popular way to find out where to score drugs in Chicago
  21. 21. So, What About Some progress since January 2006 Is there some way we can get to reflect the excitement of Python? The last major revision to the site was performed starting with a post-PyCon sprint three years ago. So one might, with a Pythonesque flavor, say …
  22. 22. It’s Bleedin’ Demised? This is April 2006. Look familiar? [John Cleese dead parrot sketch voice] “I would like to complain about this web site, what I purchased not three years ago from this very conference”. We should, however, remember that there is a dedicated team of volunteers working to keep the site up to date, and I don't want anyone to think I am ungrateful to them or unmindful of their efforts. But often people don’t communicate to them what updates are needed, so the content starts to suffer from bit-rot. There’s a lot of information in the site, and the current centralized static content model doesn’t make it easy to open up the maintenance task. So what gets changed is what absolutely must, and new ideas for content take second place to urgent maintenance. Note, again, the “help wanted” sign. I think it’s time to consider making much more reflective of the diversity of Python culture, and allowing various areas to be maintained by groups who know their subject matter reasonably well (or who are in contact with people who do) and can invest some time in keeping information up to date.
  23. 23. The Conclusion? “What a shame there’s no great Python Web software” Except for … But someone needs to do the work How? Obviously for people forced to rely on Python this could be difficult … not. Python has given rise to many web frameworks and content management systems, only the best-known of which are represented in this slide. So there is no shortage of technology. At the moment the tailored system that produces static HTML, which has stood us in good stead for several years now, is getting long in the tooth. I suspect it may be time to move to more dynamic methods for content management, about which I will have more to say later.
  24. 24. Community Activities What’s Been Going On? So, getting back to “The Community”, what’s it been doing lately, and the PSF?
  25. 25. Conference Activity Vigorous PyCon -- Atlanta in 2010 – yay! International PyCons: Argentina, Brazil, France, Italy, UK, Peru, EuroPython … Regional (un)conferences Just starting to appear PyOhio, PyAR, PyCamp TX, … More will doubtless follow PSF has offered support – often not required I am happy to say that PyCon remains a beacon in the Python world, with growing attendances and improving standards each year. It has also become something of a rallying point for the local groups who support it, and I think Atlanta will do well if they can match the vitality, energy and enthusiasm that Chicago has brought to the conference the last two years. Thanks, Chicagoland! Various national groups have started to use the PyCon name for their own national conferences, and at least within the USA we are seeing the emergence of regional conferences with varying organizational structures. So the conference scene is pretty healthy overall, despite the unpleasant current global economic environment. The PSF will be happy to support further regional and national conferences as they emerge.
  26. 26. PyCon US Attendance 1200 1000 800 600 # Delegates 400 200 0 2003 2004 2005 2006 2007 2008 2009 The figure for 2009 is my best guess at the time I released the slides. According to our conference industry consultants this represents a splendid result in these troubled times. Some groups are cancelling their conferences because it is cheaper to pay cancellation fees than go ahead with greatly reduced attendance.
  27. 27. Development Needs Help > I'm interested in this ticket in the bug tracker: > > > > but it seems to have been stalled for nine months. > Is there a procedure for starting it up again? > Should I ask about it on the python-dev mailing python- > list, or just wait until somebody happens to > notice it? Nobody is likely to notice it unless someone pushes forward with it. Non release critical bug reports and feature requests tend to fall down a black hole after about a week. [my emphasis] week. comp.lang.python, January 23, 2009 comp.lang.python, The development side of things is one where the PSF has a much less direct role, though many PSF members are involved. The development of the CPython implementation is supported by PSF infrastructure; we don’t do very much directly for the remaining implementations (Jython, PyPy and IronPython are the best-known), although I hope that the VM summit and the language summit that took place just before PyCon started have at least done something to increase the common ground between them. But I get uncomfortable when I think about how difficult it is to get patches reviewed and into the source; or how the number of unaddressed issues in the tracker slowly but remorselessly rises. It would be a hopeful sign if the development team was continually increasing, but I am afraid that doesn’t currently seem to be the case. I fear we lose potential developers because newcomers are discouraged by seeing their patches languish unreviewed in the tracker.
  28. 28. Grants PSF only ever awarded three grants SNMP-based development Software Carpentry notes Jython Incredibly hard work for assessors Not repeated due to lack of manpower But if we had more help … The PSF did once award grants, and they did have some definite positive benefits, not least of which was keeping Jython alive long enough for Sun to come along and decide to support it as part of their dynamic language development effort. But without being able to delegate the work to people not currently involved the Foundation is unlikely to repeat this experiment despite having (some) available funds. So we could use some help here too.
  29. 29. Greater Participation? This brings me to the whole question of how we increase participation in all the activities I have mentioned, and hopefully more to boot.
  30. 30. Who’s In Charge? The PSF? If so then, notionally, me Joined the PSF Board in 2004 Chairman since March 2008 Board is trying to provide open governance But often the members just say “get on with it, please” While anarchy is notionally a great system to use for open source development I think experience proves that sometimes we need to lend events a more organized helping hand. So one of the things I have tried to do in my first year as PSF chairman is to consider exactly what the role of the PSF should be, with a focus on the Foundation’s declared mission. It’s difficult to guide an organization whose membership is aquiescent to the ideas of the leadership without some means of putting the ideas into action. The Board are all volunteers, and have a difficult job carving out the time to not only manage activities but also actually do some of the things that need doing.
  31. 31. What’s the Mission? … to promote, protect, and advance the Python programming language, and to support and facilitate the growth of the international community of Python programmers [my emphasis] How do we build popular support? And what kind of support? The Python Software Foundation’s mission includes a duty to grow the Python user base. So I see it as entirely appropriate that we try to grow several things: the number of Python users, the Python developer community (in its broadest sense) and the PSF itself. This is my interpretation of the formal language of the mission statement. To grow the user base at the roots we need to make a compelling case that Python is the best tool for many jobs, and we need to help application and toolkit developers to publicize their solutions – outside the Python community, where they aren’t currently known about. Sometimes it’s too easy to assume that other people know what seems blindingly obvious to us, but often that isn’t the case. To grow the developer community we need a way of encouraging new people to join and finding them roles appropriate to their skill levels, which will not always be cutting interpreter code. To grow the Foundation we need to encourage existing members to nominate new ones, with a mind to filling out the areas where the Foundation is light on skills (among other things).
  32. 32. Recent PSF Changes Blyaws Changes Now more practical to enlarge membership Full-time PyCon chairman 6-month contract to see how it goes Treasurer engaged 500 hours/year Administrative assistant Remote worker, contracted as needed Catching up on long-standing tasks For a long time the PSF soldiered on with volunteer effort only. Towards the end of last year it became apparent that this would no longer suffice. Long-standing tasks weren’t getting done and the to-do list just kept getting longer. So we have used some of our reserves to re-organize a little. If these changes have succeeded then by the time you hear this talk book-keeping should be up to date, PyCon should be properly managed and we should have at least started to take care of those administrative tasks that geeks are not particularly good at. One former worry was that if the membership grew too large we would find it impossible to transact business if a large proportion of members were inactive. Changes to the bylaws have made this less of a concern, and so I hope that we can start to actively recruit new members who will support the PSF’s misison.
  33. 33. This is sometimes how I feel when faced with the prospect of having to exercise leadership over the Python community. Fortunately I am a cat lover.
  34. 34. Leadership? Open source people are not easy to lead Constructive anarchy? A strategy is required Set the direction Facilitate ways to connect the community Support community initiatives Enable rather than push Leadership is difficult, particularly in the open source world where there is little to compel people to take action. So the strategy I am pursuing is to transform the Foundation into a supportive organization that will look to the membership and the community at large for projects to support, rather than run. Day-to-day management required should be provided by the project members on the ground. The Board will advise, consult, and raise funds for disbursement to the member-run projects. I am interested in increasing communications inside the community. Events like PyCon and the regional conferences prove that there is a huge demand for information, and information can help people get (even) more from Python. It’s also necessary to communicate more effectively outside the community to attract new members and continue to grow the base.
  35. 35. Basic Approach Recruit ideas from “the community” YOUR ideas, to meet YOUR needs Encourage people to lead the projects Support with resources as required Mostly money, but really what money can buy Travel, equipment, other resources Coaching and mentoring You tell us … This must not be an abstract exercise All of this requires increased involvement from the community. Without it the strategy will fail, as the PSF simply doesn’t have the manpower to be able to manage projects from the top. What it can do, however, is to act as a conduit for resources, and support good projects coming from the community by enabling them in various ways that the individuals might not be able to do. It can also promote communications among members in an attempt to exploit synergy among the various community-based projects that spring up. Of course if I am wrong about the Python community, and it isn’t as strong and idealistic as I think it is, then this strategy will fail along with my leadership. The most critical aspect of all this will be managing the activities and trying to make sure that they all move forwards.
  36. 36. Resource Limits Funds are not (yet) a problem Manpower is Without people to run programs we cannot do everything we would like Grants Conferences Infrastructure and Web Site Publications Development User Groups … Ultimately the limiting resource for all these grand ambitions is good people to start and run the activities. The PSF has accumulated substantial, though not ridiculous, reserves which we have now started to make serious use of, and so for the first time we may end this year with less in the bank than we started with. We do, of course, need to hold reserves – for example, to be able to support litigation if necessary to protect the intellectual property invested in the Python language. There are signs this could become a serious issue, and the Foundation has instigated registration of the name “Python” in several new jurisdictions. Ti use an old testament analogy, I take the view that there is no point “burying our talent in the ground”. If funding starts to run low because there are good projects requiring support then we should seek additional funding, and there is some evidence that the PSF has enough goodwill to be able to increase its income if necessary. It just hasn’t seemed appropriate to ramp up funding efforts until we were being at least somewhat proactive in utilizing the funds we currently have at our disposal.
  37. 37. Engage The World! Python users are our best advocates Let’s give commercial users a channel Explain how Python benefits them Gives them a reason to publicize Python They can publicize themselves too Python is an excellent teaching language Leverage existing teachers’ experience Convince others of the benefits We also need to be more determined in our outreach efforts, to both the academic and commercial communities. If academics are interested in using Python as a teaching language then I would like to see somebody with relevant experience pointing out its benefits in that role. I would like to see community members presenting papers at academic conferences promoting the merits of teaching with Python. It would also be good to have the academic and commercial users of Python blow the language’s trumpet a bit louder. The days where Python use was an undisclosed strategic advantage are long past. Stephan Deibel has made an excellent start on this with, the original Python Success Stories site, but we need to update this area of and promote it more effectively. These are activities I believe the Foundation can legitimately support.
  38. 38. Trent Nelson’s development support project Available to “the Python community An amazing resource Which we should build on And make the most of Not PSF assets You have probably by now heard the announcement of Trent Nelson’s project. Ultimately I believe this is intended to support many open source projects, but Python is definitely the lead project for now, and we should capitalize on that to consolidate Python’s prime position. I believe Trent will have more to say at PyCon about the direction he is taking and the kind of help he will need. There are sufficient resources in the network that any Python project should be able, if they can find the developer manpower, to make sure that where appropriate they have easy-to-install distributions available for all major platforms. What an amazing increase in availability that will give us! Trent deserves our thanks for the incredible amount of hard work and substantial funding he has invested in getting this invaluable resource up and running. He has also received enthusiastic support from vendors like Hewlett Packard and Microsoft, to whom we should be grateful.
  39. 39. How to Save Developer Time? Semi-formal mentoring scheme Attract and retain new developers Welcome non-developers Lots to do on documentation Sprints require organization Needs time investment from developers Could be returned many times over Ultimately leaving them free to develop! I wonder if it might be time to consider being a little more formal and/or structured in our support for the (CPython) development team. There’s a general feeling that we need a continuous supply of “new blood” to keep the team healthy. But at present there seems to be no particular mechanism for recruiting or supporting new developers. While a lot of hard work has gone into putting developer documentation together it is still in need of further effort to ease the entry of new members into the development community. And whether someone gets commit privileges largely depends on their unaided efforts. The PyCon sprint has traditionally been the place where most time goes in to encouraging and training newcomers, but I would hope we could recruit more talent into the pool by a year-round effort that didn’t depend on attending a conference. I realize it would (temporarily) increase the load on existing developers to have them exercise the discipline of a formal training and mentoring scheme, but it could hardly hurt to think about definite steps that would make it more likely to increase the development community. We should all ask ourselves how we can help to enhance the flow of new developers into the Python community – besides having kick-ass conferences, that is ;-) If anyone wants to start their career as a core developer there is no better time than the PyCon sprint, so sign up now!
  40. 40. Guiding the Developers Dialog with users is important Tracker tool is the main channel Intimidating to inexperienced users Whose input is the most needed Tracker “archaeology” project has helped But the RoundUp interface is still complex Need a more approachable medium? Tests still need improvement The Roundup tracker is fine for those with the knowledge to use it, but it’s sufficiently hard to drive that important messages can get lost. It really would be good to see some formal means of considering requests for enhancement that won’t involve busy developers in spending large amounts of time listening to half-baked ideas from inexperienced users. I see the community as having the potential to be a very effective filter. Ultimately the developers will make the decision about what goes into the language. But there are hundreds of ancillary topics, from the structure of the documentation and the effectiveness of the tutorial to the usability of the web site, that the developers shouldn’t need to be involved in but that nevertheless do need someone looking after them. 40
  41. 41. Optimize the Web Make a portal Allowing access to diverse groups With decentralized content management* Showcase the best of Python Provide a compelling demonstration of The vibrance of the Python community The value of Python Open source ideals * But a unified look-and-feel, please … and professional availability levels In order to reflect this somewhat different vision of the Foundation, I should like to see becoming much more of a window on the diverse world that we at PyCon already know exists. If the existing front page can be transformed into a portal, the activity that takes place across the community can be reflected through it, and the each subgroup with content responsibility can update their portion of the content autonomously without having to rely on the central webmaster team. This will require some up-front design effort, and we will need to begin with the involvement of many groups who don’t know much about the current structure. It will also require a commitment to production quality from anyone who wants to take part, as the responsive nature of the current site must not be compromised. There are benefits to doing this, though, not least the opportunity for people to learn what it takes to keep a site of that size and activity up and running. At the moment I don’t think anyone actually writes about the webmaster activity on the site. It would be good if that changed too.
  42. 42. Possible Active Content Top digg/delicious Python item of the day Recent additions to the Package Index News from Python projects Featured Python job, project, module … Conference news and reports Latest Planet links Code snippets … etc., etc. So here are a few ideas for things which a portal site might choose to contain. This list just scratches the surface. I am sure there are many more valuable ideas in the heads of the community collectively, and I hope they will become the topic of active discussions. It’s time to open the web site up so that it reflects the diversity and energy of the existing and future Python community, and to turn it into a showcase both for the language and the community that surrounds it. The transformation in the web site can be more gradual than the last one, as portal-based content does not require that the surrounding site be radically reorganized. I do think it would be better to migrate towards active content anyway – I realize this takes more server power, but there is no indication that the web server is currently overtaxed, and if becomes so then let’s just acquire more powerful hardware.
  43. 43. One Small Possibility One small example of what could be done: With a dynamic front-end we could vary the images shown per impression. Over the long term a development like this could yield a valuable click stream to let us know what people are interested in about Python. This would not so much be commercial advertising as Slashdot- like competition to appear on the homepage. Images would add a dimension of competition not present in current advertising. Andrew Kuchling obviously borrowed the time machine, because he has already written suitable rotation code, and at present a graphic is selected whenever the site is regenerated. Of course it would be even nicer if we could select the image with each page view! 43
  44. 44. Possible Images This is just a set of images I pulled from the web sites linked to by Python Success Stories. Already we see a much more diverse set of possibilities from Python, even without the good old spacesuit image. 44
  45. 45. The Vision (or A Vision, Anyway) PSF Board Web National Outreach Dev Fund Language Infra- User And and Raising Dev structure Groups Marketing Maint Local Language User CPython Jython PyPy IronPython Specs Groups This is not a blueprint, but simply one idea of what the PSF might look like in the future. I think the Foundation should be seeking closer relationships with all implementations (there are others, and they are only excluded through lack of space), and encourage broader work on a common test set that all implementations are expected to pass. I think this would be preferable to standardization work, but in the Python world we’ve always known that practicality beats purity. The work I have done on investigating broader protection for the Python trademark has made me realize that there can be real advantages to international organization. Over time I would like to see each national user group formally affiliated with the PSF: in that way each can encourage the local user group structures appropriate to their situation, and deal appropriately with any national bureaucracies. We probably do need to be a little more conscious of the need to face outwards, and establish relationships with groups, companies and individuals who can help us to achieve our goals. A marketing approach would do this by establishing common benefits, achieving what Americans like to call a win-win.
  46. 46. The Inspirational Bit? Ask not what Python can do for you But rather, what you can do for Python The PSF can use help Just a question of deciding how you want to contribute. I believe the Foundation can enable projects that have grass-roots community support, but the support from the community needs to be practical: people need to commit to moving them forward, using Foundation resources where necessary. There’s a downside, though, which is that committees and subcommittees have typically not been particularly productive in the past. We don’t just need people, we need people who can get things done. The future is fluid, and I am not trying to cast the PSF’s shape in concrete, or put it in a strait jacket. It will prosper best by responding to the expressed needs of the community. I am hoping that the community will respond to this call by producing ideas, requests for funding and a new round of volunteerism.
  47. 47. Python Projects I’d Like To See SharePoint competitor Design principles relatively obvious Too much work for a volunteer project? Competent GUI designers Existing Python products all weak somehow Would encourage Python use on the desktop Personal Information Manager Exchange information between existing tools Here I let my imagination go a little and asked myself where Python could shine. It certainly isn’t unthinkable that any of these products could be created with sufficient goodwill and funding behind them. I don’t think the PSF should involve itself directly in developing anything other than Python implementations. Microsoft recently announced that SharePoint had become a $1bn business line for them. It clearly meets a need in many organizations, and open source can certainly match much of the technology that SharePoint uses: while some of it is exceedingly complex, most of it is straightforward Web 2.0. Where’s the open source equivalent? Python would be an ideal development language. While many applications are aiming at the web there is still a substantial market for desktop applications, and most users today aren’t exactly enamored of the command line – in fact most computer users today never even see a command- line environment. So it would be nice if we could make it really easy to produce GUI-based Python applications with easy internationalization. Chandler was a well-intentioned project, but it wasn’t in practice responsive enough, either as a project or a product. I think “release early, release often” would have given the project team more effective feedback, but it appeared instead to take a “big up-front design” approach. So there’s still room for what the trade press would undoubtedly term an “Outlook killer”. But I don’t really think it needs to be that; what everyone really needs more right now is tools that will integrate the information sources of the tools they already use. I won’t be happy until I can use the same address book for Gmail, Thunderbird, Outlook and Skype, and have people’s Twitter and AIM identification in there as well. Plus whatever else comes along. Until the APIs are ready and ubiquitously deployed we need an interchange tool.
  48. 48. Other Wish List Items Maintainer(s) for Python Success Stories Feature a different story daily on home page Professional “brand management” You think “success” happens by accident? More community members taking control Own your project, ask for assistance Better communication between users and developers The issue tracker is not the right forum … I am well aware that there is a segment of the Python community that feels it is either unnecessary or unsavory (or possibly both) to involve the PSF in marketing, but nevertheless some marketing is required if the PSF is to transition to a dynamic organization that helps to drive Python uptake rather than passively watching it. Whether this is a valid goal is something we should debate. Maybe the PSF should just react to whatever happens “out there”, and only concern itself with licensing issues ... My own belief is that we need to actively point out how and why Python is the superior solution for many software problems, and help people and organizations with successful Python-based projects and products to publicize their achievements. The more people who use Python software, the more successful Python users of all kinds will be, and the easier it will become to find Python programmers. At present the biggest complaint I hear about Python is that it’s difficult to find good Python programmers. 48
  49. 49. But this is the bottom line. There has to be a “U” in “community”.
  50. 50. YOU Are the Python Community This should be seen as an opportunity There’s nothing wrong with planning to provide mutual benefit Increasing Python popularity means greater opportunity Remember that newbie? (S)he might be sitting next to you Please take the time to welcome newcomers My take on this is that FLOSS (Free Libre Open Source Software) is actually the spearhead of an economic revolution. This revolution is based on a reappraisal of the notion of intellectual property, and a realization that sharing creates more than maintaining proprietary ownership. We are only just beginning to see its impact on commercial economics. I think Leslie Hawthorne expresses well the responsibilities that this brings in here blog entry Commercialization of FLOSS []. A community is “a group of people sharing a common understanding who reveal themselves by using the same language, manners, tradition and law”. I firmly believe you do not need to be a member of the PSF to play a full role in the Python community, but that the PSF has a role to play in developing that community. I would like to feel that membership of that community can bring positive benefits to all those who embrace it. Remember that many people at PyCon will be here for the first time (in 2008 over 60% of delegates were newcomers). Please do your best to make them feel welcome. Python rocks, and I think those who have adopted it early are a very special breed.
  51. 51. Evangelism is OK! Let’s all be Python evangelists Let’s all acknowledge our debt to Python And think about “giving something back …” Ask the PSF for resources We can all help in different ways Your ideas are as good as anyone else’s The Python community is cool Because you are cool! I don’t want to think of Python evangelism as the responsibility of any one person or group. If Python has done something for us then it seems reasonable for us to do something for Python. Enlarging the Python community benefits everyone, and if the PSF can act as the central clearing house for ideas and a conduit for resources I will be more than happy.
  52. 52. Questions? Suggestions? Discussion? Volunteering? Is the bar open yet? I hope that there will be a fair amount of time to answer questions from and otherwise interact with the audience. If this opportunity occurs I will feed the discussions back into further presentations. I am grateful to the PyAtlanta group for the opportunity to present an early version of this talk and to gather ideas for enlarging it. Most of all I would like to thank everybody who has helped to develop Python and made the Python community the welcoming group I hope it will continue to be.