Python - an Open Source Project Guido van Rossum CNRI

Slides:



Advertisements
Similar presentations
Planning Your web content
Advertisements

Pharos Uniprint 8.3.
User Training Presented by: Marianne Mitchell Principal, The Bidgee School.
Geant4 ESTEC Workshop K.Amako 1 Geant4 User’s Documents Geant4 ESTEC Workshop 23 September, 1999 Katsuya Amako (KEK)
Why Are Computers Necessary in Today’s World?
Finding Primary Source Documents The Student’s View.
Coordinator Juggling Amy Kern. What’s Your Back-Up Plan?  Other admin staff  Fellow coordinators  Just don’t go on vacation.
Discussions and Release Conditions Bill Weber E-Learning Operations.
Operating Systems. What is an Operating System? A layer of software between users/applications and the hardware. The first program loaded onto a computer.
CS CS 5150 Software Engineering Lecture 20 Acceptance and Delivery.
Guide to Linux Installation and Administration, 2e1 Chapter 12 Printing in Linux.
Introduction to Linux Chapter 1. Operating Systems Operating System (OS) - most basic and important software on a computer Performs core tasks Organize.
Software Documentation Written By: Ian Sommerville Presentation By: Stephen Lopez-Couto.
Objectives  Understand the purpose of the superuser account  Outline the key features of the Linux desktops  Navigate through the menus  Getting help.
CS4723 Software Validation and Quality Assurance Lecture 9 Bug Report Management.
Doxygen: Source Code Documentation Generator John Tully.
Project Proposal: Academic Job Market and Application Tracker Website Project designed by: Cengiz Gunay Client: Cengiz Gunay Audience: PhD candidates and.
Lecturer: Ghadah Aldehim
23-August-1999© 1999 CNRI, Guido van Rossum August-1999© 1999 CNRI, Guido van Rossum 2 Python Track Opening Words Guido van Rossum
Open Source Workshop1 IBM Software Group Working with Apache Tuscany A Hands-On Workshop Luciano Resende Haleh.
Inti Online Login Page (Lecturer/Student/Administrator View)
Design and Prototyping CS 5115 Fall 2014 September 19.
UML Tools ● UML is a language, not a tool ● UML tools make use of UML possible ● Choice of tools, for individual or group use, has a large affect on acceptance.
Tallinn, 13 December 2005 EC CHM portal toolkit Miruna Bădescu Finsiel Romania.
Considering Open Source? Is developing an open source project right for you?
Slide 1 Tomorrow’s Technology and You Chapter 4 Software © 2006 Prentice-Hall, Inc.
SLIR Computer Lab: Orientation and Training December 16, 1998.
Incorporating Pragmatic Usability Testing Into a Software Test Plan Carla Merrill, Ph.D. Focused Design focuseddesign.com
Usability Issues Documentation J. Apostolakis for Geant4 16 January 2009.
Software Toolkits Building Communities Luis Ibáñez KITWARE, Inc.
QGIS (v2.2) Intro to QGIS What is QGIS? A free, open-source desktop geographic information system Runs on Linux, Mac OSX, Unix, and Windows Licensed.
EGEE is a project funded by the European Union under contract IST Testing processes Leanne Guy Testing activity manager JRA1 All hands meeting,
Isecur1ty training center Presented by : Eng. Mohammad Khreesha.
Slide 1 Tomorrow’s Technology and You Chapter 4 Software © 2006 Prentice-Hall, Inc.
Help Yourself.  FAQ  Message Board  Bug Tracker  Call Tracking System  Web Site.
Systems Software Operating Systems. What is software? Software is the term that we use for all the programs and data that we use with a computer system.
1 UNIT 15 Webpage Creator Lecturer: fadwa tlaelan.
Information Technology 1 (Wiki + ResTechs) = (Fresh documentation + Organic Knowledge Management + Training Materials + Good, Cheap Technical Writers)
How to configure, build and install Trilinos November 2, :30-9:30 a.m. Jim Willenbring Mike Phenow.
Teachers Discovering Computers Integrating Technology and Digital Media in the Classroom 5 th Edition Let’s Review Lesson 2! Who Wants to Be a Computer.
Documentation NCRR Documentation for BioPSE/SCIRun and map3d All this great software and you want documentation too!?
Systems Software Operating Systems. What is software? Software is the term that we use for all the programs and data that we use with a computer system.
A Short Course on Geant4 Simulation Toolkit How to learn more?
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 24 Delivering the System.
The new European Toolkit EC-CHM Miruna Bădescu EEA contractor: Eau de Web.
3/30/04 16:14 1 Lessons Learned CERES Data Management Presented to GIST 21 “If the 3 laws of climate are calibrate, calibrate, calibrate, then the 3 laws.
DevelopersCommitters Users I’m getting the following exception…. Anybody have any clue why??? +1, I like that idea… Source & Binary Code Repository Bug.
Geant4 Orsay Workshop K.Amako 1 Geant4 User’s Documents Geant4 Orsay Workshop 18 October, 2000 Katsuya Amako (KEK/CERN)
An Overview of Perl A language for Systems and Network Administration and Management: An overview of the language.
P51UST: Unix and SoftwareTools Unix and Software Tools (P51UST) Version Control Systems Ruibin Bai (Room AB326) Division of Computer Science The University.
Unlocking the Community Toolchest Tony Atkins UHI Millenium Institute.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 26 Delivering the System.
Getting Started with Trilinos October 14, :30-10:30 a.m. Jim Willenbring.
Information Architecture & Design Week 10 Schedule -Construction of IA and Web -Rosenfeld Chapters 17 & 18 -Research Topic Presentations -Research Papers.
How to configure, build and install Trilinos November 2, :30-9:30 a.m. Jim Willenbring.
FCT Refresher: Getting the Support You Need By: Lauren Stanisic.
Geant4 Training 2003 A Short Course on Geant4 Simulation Toolkit How to learn more? The full set of lecture notes of this Geant4.
OPERATING SYSTEMS (OS) By the end of this lesson you will be able to explain: 1. What an OS is 2. The relationship between the OS & application programs.
In an increasingly competitive industry is certified by a recognized provider as Microsoft exam will dramatically improve your chances busy. Microsoft.
“This improved a lot since I started using Tango (three years ago) from scratch so I'm happy to see the efforts from the developers. Still there is room.
1 April 14, Starting New Open Source Software Projects William Cohen NCSU CSC 591W April 14, 2008.
Developers Users Committers How do I configure this now? Just one more fix and I am done! CVS Download/Use Software Submit problems/ request features Store.
Development Environment
John Metz and Jeff Potts Michigan’s A. E. R. Annual Conference 2017
Welcome to the KDE Project
A Short Course on Geant4 Simulation Toolkit How to learn more?
Software Documentation
UNIT 15 Webpage Creator.
A Short Course on Geant4 Simulation Toolkit How to learn more?
A Short Course on Geant4 Simulation Toolkit How to learn more?
Presentation transcript:

Python - an Open Source Project Guido van Rossum CNRI

Timeline 1989/1990 first code 1991 first release 1992 mailing list 1993 newsgroup 1994 first workshop 1995 website 1996 first books 1999 world domination?

Factors for success Things you cannot control –Product category, target audience, competition –Your own personality Things you can control –Open source –Contribution policy –Presence in user group –Release quality

Common sense Communicate with users –multiple communication channels: FAQs, mailing lists, newsgroups, websites, chat rooms... Give credit to contributors –if you want contributions! Use volunteers as lieutenants –delegate what you can!

Provide extensibility Reduces user pressure for changes Possibly at several levels –in Python: 2 major extension levels (Python, C/C++/...) Take care to define & document extension interfaces Linus Torvalds: I dont care about bugs in device drivers; they will get fixed. I care about getting the interface right.

User community Mailing lists, newsgroups You will get flamed Dont get into every argument Encourage potential contributors Recognize difficult users Use private mail when appropriate Accept recurring arguments –sign of new users flowing in

Special Interest Groups Encourage user groups with special needs to help themselves Mailing lists are cheap! Doesnt always work –some topics just dont go anywhere focus on concrete tasks, topics (cf. IETF working groups) –some topics have questions but no answers

Separate help channels –for questions asked in private forum –self-help learning group –still experimental not clear if it is sufficiently different

Bug report mechanism Most bug tracking software sucks Many reported bugs will be: –duplicates –fixed in newer release –user errors –surprising features –documentation bugs –unreasonable feature requests Known bugs list, TODO list etc. are never enough :-(

Contributions Encourage well-packaged contributions –e.g. context diffs with clear description and motivation Be prepared to refuse contributions Recognize good contributors Provide contributor training

Releases Quality controlled stable releases –to build user trust Development releases –for active contributors –to help discover bugs in time Hard question: what to put in release, what to leave out –reconsider over time

Packaging is important Most users give up if download + install doesnt succeed at first try Windows, Mac: installer Unix:configure; make; install Linux: RPMs Packaging can be done by others

Documentation Can never have enough! Tuturials and reference manuals Separate developer documentation Multiple formats HTML (on-line & downloadable) Postscript/PDF for printing (US+A4) source (latex/SGML) Emacs info, MS Help,... Can be managed by others

Website Essential for users Can be a lot of work Add a search engine! Let users contribute –topic guides –HOWTOs –SIG home pages