SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
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.
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.
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.
The Python Community
 Who Is It, and What Does It Do?




     Something not often considered …
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.
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!
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 …
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.
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.
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.
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?
This is a Nokia Series 60 ‘phone
   running a Python application


My G1 does the same thing, but so
         far only in Java
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 …
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
As does EVE Online, a real-time
 space simulation game (this is a
   real over-simplification) that
supports over 50,000 simultaneous
              players
The US Geological Survey
are also Python users, and
produce some fascinating
         graphics
This little fellow is a Tux
robot, programmed via a
USB wireless transmitter
     (in the fish) and
programmable in Python
And who could forget Galcon,
   that compelling Python
application we all love to play
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
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
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 …
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.
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.
Community Activities

                     What’s Been Going On?




So, getting back to “The Community”, what’s it been doing lately, and the PSF?
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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!
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
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.
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.
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
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
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.
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.
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.
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
But this is the bottom line. There has to be a “U” in “community”.
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.
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.
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.

Weitere ähnliche Inhalte

Ähnlich wie PythonTribe

Why should I learn python
Why should I learn pythonWhy should I learn python
Why should I learn pythongrinu
 
Plone is great... Python is too!
Plone is great... Python is too!Plone is great... Python is too!
Plone is great... Python is too!Jazkarta, Inc.
 
Is python just a fad or here to stay
Is python just a fad or here to stayIs python just a fad or here to stay
Is python just a fad or here to staySarah Walsh
 
Learn Python Python Introduction for Beginners.pdf
Learn Python  Python Introduction for Beginners.pdfLearn Python  Python Introduction for Beginners.pdf
Learn Python Python Introduction for Beginners.pdfSudhanshiBakre1
 
Get Started With Python Language.pdf
Get Started With Python Language.pdfGet Started With Python Language.pdf
Get Started With Python Language.pdfCerebrum Infotech
 
The quality of the python ecosystem - and how we can protect it!
The quality of the python ecosystem - and how we can protect it!The quality of the python ecosystem - and how we can protect it!
The quality of the python ecosystem - and how we can protect it!Bruno Rocha
 
Python theory.docx
Python theory.docxPython theory.docx
Python theory.docxwrite5
 
Python – The Fastest Growing Programming Language
Python – The Fastest Growing Programming LanguagePython – The Fastest Growing Programming Language
Python – The Fastest Growing Programming LanguageIRJET Journal
 
python classes 1.pdf
python classes 1.pdfpython classes 1.pdf
python classes 1.pdfrobin singh
 
Python programming for beginners
Python programming for beginnersPython programming for beginners
Python programming for beginnersBenishchoco
 

Ähnlich wie PythonTribe (20)

The PSF and You
The PSF and YouThe PSF and You
The PSF and You
 
Pyconza(2)
Pyconza(2)Pyconza(2)
Pyconza(2)
 
Python Training in Bangalore
Python Training in BangalorePython Training in Bangalore
Python Training in Bangalore
 
Why should I learn python
Why should I learn pythonWhy should I learn python
Why should I learn python
 
Python intro for Plone users
Python intro for Plone usersPython intro for Plone users
Python intro for Plone users
 
Plone is great... Python is too!
Plone is great... Python is too!Plone is great... Python is too!
Plone is great... Python is too!
 
Python
PythonPython
Python
 
10 popular software programs written in python
10 popular software programs written in python 10 popular software programs written in python
10 popular software programs written in python
 
Is python just a fad or here to stay
Is python just a fad or here to stayIs python just a fad or here to stay
Is python just a fad or here to stay
 
Welcome to Python
Welcome to PythonWelcome to Python
Welcome to Python
 
Learn Python Python Introduction for Beginners.pdf
Learn Python  Python Introduction for Beginners.pdfLearn Python  Python Introduction for Beginners.pdf
Learn Python Python Introduction for Beginners.pdf
 
Get Started With Python Language.pdf
Get Started With Python Language.pdfGet Started With Python Language.pdf
Get Started With Python Language.pdf
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 
The quality of the python ecosystem - and how we can protect it!
The quality of the python ecosystem - and how we can protect it!The quality of the python ecosystem - and how we can protect it!
The quality of the python ecosystem - and how we can protect it!
 
interviewbit.pdf
interviewbit.pdfinterviewbit.pdf
interviewbit.pdf
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 
Python theory.docx
Python theory.docxPython theory.docx
Python theory.docx
 
Python – The Fastest Growing Programming Language
Python – The Fastest Growing Programming LanguagePython – The Fastest Growing Programming Language
Python – The Fastest Growing Programming Language
 
python classes 1.pdf
python classes 1.pdfpython classes 1.pdf
python classes 1.pdf
 
Python programming for beginners
Python programming for beginnersPython programming for beginners
Python programming for beginners
 

Mehr von Hiroshi Ono

Voltdb - wikipedia
Voltdb - wikipediaVoltdb - wikipedia
Voltdb - wikipediaHiroshi Ono
 
Gamecenter概説
Gamecenter概説Gamecenter概説
Gamecenter概説Hiroshi Ono
 
EventDrivenArchitecture
EventDrivenArchitectureEventDrivenArchitecture
EventDrivenArchitectureHiroshi Ono
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdfHiroshi Ono
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdfHiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfHiroshi Ono
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfHiroshi Ono
 
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfpragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfHiroshi Ono
 
downey08semaphores.pdf
downey08semaphores.pdfdowney08semaphores.pdf
downey08semaphores.pdfHiroshi Ono
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdfHiroshi Ono
 
TwitterOct2008.pdf
TwitterOct2008.pdfTwitterOct2008.pdf
TwitterOct2008.pdfHiroshi Ono
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfHiroshi Ono
 
SACSIS2009_TCP.pdf
SACSIS2009_TCP.pdfSACSIS2009_TCP.pdf
SACSIS2009_TCP.pdfHiroshi Ono
 
scalaliftoff2009.pdf
scalaliftoff2009.pdfscalaliftoff2009.pdf
scalaliftoff2009.pdfHiroshi Ono
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfHiroshi Ono
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdfHiroshi Ono
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdfHiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfHiroshi Ono
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfHiroshi Ono
 

Mehr von Hiroshi Ono (20)

Voltdb - wikipedia
Voltdb - wikipediaVoltdb - wikipedia
Voltdb - wikipedia
 
Gamecenter概説
Gamecenter概説Gamecenter概説
Gamecenter概説
 
EventDrivenArchitecture
EventDrivenArchitectureEventDrivenArchitecture
EventDrivenArchitecture
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdf
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdf
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdf
 
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfpragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
 
downey08semaphores.pdf
downey08semaphores.pdfdowney08semaphores.pdf
downey08semaphores.pdf
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
 
TwitterOct2008.pdf
TwitterOct2008.pdfTwitterOct2008.pdf
TwitterOct2008.pdf
 
camel-scala.pdf
camel-scala.pdfcamel-scala.pdf
camel-scala.pdf
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
 
SACSIS2009_TCP.pdf
SACSIS2009_TCP.pdfSACSIS2009_TCP.pdf
SACSIS2009_TCP.pdf
 
scalaliftoff2009.pdf
scalaliftoff2009.pdfscalaliftoff2009.pdf
scalaliftoff2009.pdf
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdf
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdf
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdf
 

Kürzlich hochgeladen

Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 

Kürzlich hochgeladen (20)

Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"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.