Python Programming Language
Python Software Activity FAQ
Last modified: 3 July 1997
There have been some questions about the PSA's objectives, structure, benefits, etc., and CNRI's role. This FAQ tries to answer such questions.
What are the PSA's objectives?
The major PSA objectives are:
What is the PSA's relationship with CNRI and how does each benefit?
The relationship between CNRI and the PSA is a symbiotic one. The individuals who helped form the PSA wanted to promote the aforementioned PSA objectives and continue their interesting technical work without the burden of administrative responsibilities such as accounting, legal and tax issues, etc. The CNRI stewardship provides the administration. A second huge benefit that the PSA derives from CNRI is financial support. In 1996, contributions from CNRI's reserves to the PSA amounted to more than two-thirds the total PSA budget.
One of CNRI's motivations for hosting the PSA comes from its tradition of fostering the growth of technology communities, in this case the Python community. CNRI hosts similar activities such as the XIWT (Cross Industry Working Team) and the IETF (Internet Engineering Task Force) Secretariat. (See the CNRI home page.) Also, CNRI uses Python and as a user it benefits from the increased development and robustness that an involved and growing community provides. Further, CNRI will benefit from the credit it receives for helping foster Python's success.
What is the goal of the PSA and its legal basis?
See the text under the heading Establishment Of The Python Software Activity. This text explicitly mentions that the PSA "is established to insure the continued evolution of the Python core language and foster the common interests of the community of users and developers of Python." It also establishes the PSA's fee structure.
Constraints on CNRI's activities vis-à-vis the PSA
CNRI is a non-profit organization that is funded by both the US federal government and industry. As a government contractor, it must abide by the regulations that govern such contractors. Also, government contractors must treat the government fairly, i.e., treat the government as the contractor would treat its most favored customer. This has some interesting consequences.
For instance, it means that all projects, even ones funded by CNRI's endowment account, must bear the proportionate share of all costs that CNRI charges for a government funded project. This means that CNRI must pay the project's proportionate share for rent, heat, light, computer systems, all administrative functions, etc., and employee benefits from its endowment account.
The government regulations also state that each employee who charges time to a government contract must declare all his or her time spent on CNRI professional activities. What this means is that if an employee works 40 hours a week on a government contract and spends 10 hours volunteering to do PSA work, CNRI can only charge the government for 80% of that person's salary, fringes and indirect charges, with the remainder coming from CNRI's reserves. (Note this is real money, not some accounting trick, as CNRI's reserves actually shrink.)
Where does the money from membership fees go and who pays the rest?
The money goes towards the salary of those who maintain and coordinate the Python web site, ftp server, mailing lists, conference expenses etc. In 1996 the total cost of these activities was slightly more than three times the PSA income of approximately $12,000 of which $6200 came from conference fees. As already mentioned, the remaining two thirds was paid from the CNRI endowment account.
The case for these expenditures is that a seed community is being incubated. CNRI officers and directors see proof of the existence of such a community from the fact that some members of that community are willing to pay some of their own money to foster the activity. If there were no members in the PSA, then it might be concluded (albeit wrongly, we may think) that Python wasn't useful and no one cared about it.
Who funds Python's development?
PSA fees do not fund the Python development effort. Python's author, Guido van Rossum, is paid by CNRI for that work. If his work on Python is directly beneficial for CNRI projects that use Python then his time is charged to those projects. CNRI's willingness to continue using Python depends on Python's usefulness, and of course usefulness is related the existence a community large enough to sustain the necessary ancillary development. If CNRI were the only user it could not sustain the needed ancillary developments to make Python useful enough for CNRI.
Who holds the intellectual property rights to Python?
The original intellectual property rights to Python are held by CWI in Amsterdam, Guido's former employer. It is likely that Guido will personally be given some rights to the original Python. CNRI holds the copyright to work that Guido has done on Python since began working at CNRI. When this situation resolved, it will be announced.
Does the PSA have officers?
Since the PSA is not formal organization, it has no officers. CNRI employees are carrying out most of the tasks. Volunteers outside CNRI do some of the work, coordinated by CNRI. (Unfortunately, because of government accounting regulations, to which CNRI is bound, its employees cannot volunteer; see above.)
There is, however, a Steering Committee. This is a group of people who occasionally advise about the proper course of action for the PSA. Membership on the Steering Committee is by invitation only. The original initiators of the PSA are all Steering Committee members.
What are the benefits of joining the PSA?
Most benefits for members are intangible -- you get the warm fuzzy feeling that you help to promote Python. It's a bit like public radio: unless enough people pay up, it will die, but your contribution benefits everyone, not just the sponsors. Like public radio sponsors, PSA members have the added honor of having their name displayed in the list of members.
Some material benefits are a discount for Python conferences and access to the Python alpha test program. Once enough people join to make it economically feasible, members may receive additional incentives like a CD-ROM with the contents of the web site, or a printed copy of the official documentation. Unfortunately, the PSA currently has only about 100 members and the production overhead is too high to produce them with the existing membership base. We need to grow the membership base before for the PSA can provide more tangible benefits to its members.
Does the PSA provide commercial support for Python?
No, but it may be able to help you find such support. In the near future, PSA members will be able to list the services they provide on a PSA web page.
Will Python always remain free?
It's hard to look in the future, but CNRI and the PSA recognize that Python has made it to where it is now because it is free. Even if CNRI (or another entity) offered a commercial implementation of Python for sale, CNRI's intent is to see support and expansion of the free version continue.
What about conferences?
The Python conferences are intended to pay for themselves. Unfortunately we have not achieved that status yet. CNRI takes the financial risk and organizational responsibility.
ESTABLISHMENT OF THE PYTHON SOFTWARE ACTIVITY
Python is a modern computer language which is straightforward to use and which makes computer programming relatively easy. It is an extensible language which has the capability to support object oriented programming concepts. The language is highly portable and its implementation depends on a small kernel of functions which allow the rest of the Python core to be written in terms of external Python functions. Experimentation with Python is currently underway at numerous organizations. Python appears to be applicable to a wide variety of application domains.
The Python Software Activity ("PSA") is being established to insure the continued evolution of the Python core language and foster the common interests of the community of users and developers of Python. In this role, the PSA will carry out numerous functions which broadly support the community of Python users and developers. Among other things, the PSA will maintain specifications, provide reference models of Python software and organize a clearinghouse for Python software modules developed by others. In addition, it will host workshops and other related activities that can help to educate others about Python, the current status of Python and to obtain user feedback.
Any person or organization who or which is interested and wishes to have a connection with the PSA would pay a nominal annual fee ($50 for an individual, $25 for a student, and $500 for an organization) which would help defray expenses in conducting its activities. Any such person or organization would be known as a "participant" of the PSA, and would expect to receive whatever mailings or electronic communications which go out to participants. These notifications would include notices of the right to register to attend seminars, etc., related to the substance of Python developments, for which there would be a modest registration charge (say, $200, but subject to change from time to time). The exact nature and scope of the activities would be developed on a pragmatic basis, but with an eye to the speedy fostering of the use and improvement of Python.
See the PSA registration form for more details.
The PSA will be (is being!) carried out under the auspices of the Corporation for National Research Initiatives (CNRI) which is a non-profit corporation organized under the laws of the District of Columbia, with Section 501(c)(3) tax-exempt status.