"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
PythonTribe
1. The State of the
Python Community
Leading the Python Tribe
Steve Holden
steve@holdenweb.com
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. 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. 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. The Python Community
Who Is It, and What Does It Do?
Something not often considered …
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. 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. 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. 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. 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. 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 python.org.
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. 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. This is a Nokia Series 60 ‘phone
running a Python application
My G1 does the same thing, but so
far only in Java
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. 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. As does EVE Online, a real-time
space simulation game (this is a
real over-simplification) that
supports over 50,000 simultaneous
players
16. The US Geological Survey
are also Python users, and
produce some fascinating
graphics
17. This little fellow is a Tux
robot, programmed via a
USB wireless transmitter
(in the fish) and
programmable in Python
18. And who could forget Galcon,
that compelling Python
application we all love to play
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. 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. So, What About python.org?
Some progress since January 2006
Is there some way we can get python.org 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. 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 python.org
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. 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. Community Activities
What’s Been Going On?
So, getting back to “The Community”, what’s it been doing lately, and the PSF?
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. 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. Development Needs Help
> I'm interested in this ticket in the bug tracker:
>
> http://bugs.python.org/issue2527
>
> 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 pythonology.org, the original Python Success Stories
site, but we need to update this area of python.org and promote it more
effectively.
These are activities I believe the Foundation can legitimately support.
38. snakebite.org
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
snakebite.org 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. 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. 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. Optimize the Web
Make python.org 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 python.org 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. 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. 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 python.org 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. 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. 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. 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. 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. 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. But this is the bottom line. There has to be a “U” in “community”.
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
[http://www.hawthornlandings.org/2009/02/commercialization-of-floss.html].
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. 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. 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.