[pypy-svn] rev 1291 - pypy/trunk/doc/funding
lac at codespeak.net
lac at codespeak.net
Sun Sep 14 12:39:39 CEST 2003
Author: lac
Date: Sun Sep 14 12:39:38 2003
New Revision: 1291
Added:
pypy/trunk/doc/funding/
pypy/trunk/doc/funding/B2.0.0_background.txt
pypy/trunk/doc/funding/B2.0.0_relevance.txt
Log:
Made a funding dir, and renames these things as per Holger's suggestion.
Since I messed up and made an extra heirarchy level, and then when I
deleted them I got rid of the files, I had to recopy. Shame on me.
Added: pypy/trunk/doc/funding/B2.0.0_background.txt
==============================================================================
--- (empty file)
+++ pypy/trunk/doc/funding/B2.0.0_background.txt Sun Sep 14 12:39:38 2003
@@ -0,0 +1,163 @@
+Background:
+
+Python is a portable, interpreted, object-oriented Very-High Level
+Language (VHLL). Its development started in 1990 at CWI, Centrum voor
+Wiskunde en Informatica, the National Research Institute for
+Mathematics and Computer Science in the Netherlands. Its principal
+author is Guido van Rossum, a Dutch citizen currently living in
+the United States. It is an Free/Open-Source language. The most
+recent version of the language is Python 2.3, released under
+the Python Software Foundation License, which is approved by both
+the Open Source Initiative, and the Free Software Foundation.
+
+FIXME: Include this as a reference.
+http://www.opensource.org/licenses/PythonSoftFoundation.php
+
+Python has tens, perhaps hundreds of thousands of active users
+worldwide, which makes it one of the top ten most popular programming
+languages in the world. [FIXME Footnote -- see section XXX and Appendex XXX
+for support for this assertion]. C, C++, Java, Perl, and Visual Basic
+are acknowledged to have a larger user base. But the languages which
+most excite the Computer Science Research community - Self, Lisp,
+Haskell, Limbo, and so on, are nowhere on this list. Thus European
+economic competitiveness suffers. The innovative research lives in
+academia, trapped in languages that are rarely used.
+
+Of those more popular languages, two, Java and Visual Basic are
+proprietary. Sun Microsystems owns Java, and Microsoft owns Visual
+Basic. Any company which writes its software in Java or Visual Basic
+is at the mercy of these large American companies. And this is a
+real, and not theoretical threat. In 2002, Microsoft announced that
+it would no longer be supporting Visual Basic 6.0. after the year
+2005. All Visual Basic Developers have been told to convert their
+code to run under Microsoft's new .NET framework. In 2001 Microsoft
+immediately stopped supporting its Visual J++ language, meant to be a
+direct competitor with Java, because after settling a lawsuit with Sun
+Microsystems. Microsoft is making these decisions because it makes
+business sense for Microsoft, regardless of its effect on the businesses
+who develop software using Microsoft proprietary software.
+
+In the face of these threats to the very survival of one's business,
+European SMEs are moving to Free/Open Source languages such as Python.
+In the year 2002, a group of SME's who rely on the Python program
+language came together to form the Python Business Forum.
+(www.python-in-business.org), at EuroPython, the European Python
+Community Conference (www.europython.org).
+
+FIXME! include the bylaws of the PBF, its Board of Directors and
+the like as an Appendex.
+
+While each SME member of the Python Business Forum has sufficient
+faith in the Python programming language to use it for the development
+of its own projects, it was agreed that there are defects in the
+current implementation of the language. The two most often cited was
+that the Python was too large for embedded applications and
+applications designed for handhelds, and that the interpreter itself
+ran too slowly.
+
+The developers of systems intended to run on tiny machines would like
+a language with a 'smaller footprint'. They would like to strip out
+everything which they do not need from the language and run with the
+bare-bones minimum. This is hard to do in any language, and Python
+was not implemented with this goal in mind. Another goal that was not
+paramont was execution speed. Python is a dynamically-typed,
+late-binding, interpreted language. Optimisation must be done at
+run-time, and is notoriously more difficult to optimise than
+statically typed, early-binding compiled languages such as C or C++.
+
+Meanwhile, on the German Python mailing list,
+http://starship.python.net/mailman/listinfo/python-de an unrelated
+discussion was about to bear fruit. FOOTNOTE:
+Here's the mail that started it all,
+http://starship.python.net/pipermail/python-de/2003q1/002925.html
+include full text.
+
+Academically trained Python
+programmers were pondering writing an implementation of Python in
+itself. This group included Armin Rigo, author of Psyco
+http://psyco.sourceforge.net/introduction.html, a specialising
+Just-In-Time compiler for Python, and Christian Tismer, author of
+Stackless Python, http://www.stackless.com/ an implementation of
+Python which does not use the C stack. These people knew and were
+interested in doing exactly that as part of the design.
+
+It is useful to quote Armin Rigo, stating the goals of Psyco in full,
+from its website:
+
+ My goal in programming Psyco is to contribute to reduce the
+ following wide gap between academic computer science and industrial
+ programming tools.
+
+ While the former develops a number of programming languages
+ with very cool semantics and features, the latter stick with low-level
+ languages principally for performance reasons, on the ground that the
+ higher the level of a language, the slower it is. Althought clearly
+ justified in practice, this belief is theoretically false, and even
+ completely inverted --- for large, evolving systems like a whole
+ operating system and its applications, high-level programming can
+ deliver much higher performances.
+
+ The new class of languages called "dynamic scripting
+ languages", of which Python is an example, is semantically close to
+ long-studied languages like Lisp. The constrains behind their designs
+ are however different: some high-level languages can be relatively
+ well statically compiled, we can do some type inference, and so on,
+ whereas with Python it is much harder --- the design goal was
+ different. We now have powerful machines to stick with interpretation
+ for a number of applications. This, of course, contributes to the
+ common belief that high-level languages are terribly slow.
+
+ Psyco is both an academic and an industrial project. It is an
+ academic experiment testing some new techniques in the field of
+ on-line specialization. It develops an industrially useful
+ performance benefit for Python. And first of all it is a modest
+ step towards:
+
+ High-level languages are faster than low-level ones!
+
+FIXME Footnote to: http://psyco.sourceforge.net/introduction.html
+
+PyPy would be a more ambitious step, of course.
+
+Also instrumental was Holger Krekel, at TrillkeGut a (what the heck
+do you call it?? in Hildesheim). Holger Krekel was experienced
+in one of the latest in Agile Software methodologies, Sprint-driven
+development, from his experience in the Zope HOLGER
+WRITE ME A PARAGRAPH HERE PLEASE ABOUT WHY THIS IS COOL
+
+
+This was precisely what the Python Business Forum members had been
+looking for. Academics conversant in the latest in compiler theory
+who were interested in producing the Python interpreter which they
+needed. We began discussing the possibility of collaboration, both
+on mailing lists, FIXME list our mailing list and in our first
+face-to-face meeting at Hildesheim, Germany Feb 17-23 2003.
+
+We decided to make a prototype to test the proof of concept, and our
+ability to work together. We would get together every six weeks in
+our own time, and work on the prototype in intense work sessions which
+are known as 'Sprints'. FIXME Etymology of Sprint? After the first
+Sprint at TrillkeGut in Hildesheim, we held subsequent Sprints at AB
+Strakt in Gothenburg, Sweden, and at the University of
+Louvain-La-Neuve in Belgium.
+
+By the time the Louvain-La-Neuve Sprint, which was held June 20-24,
+ended, the PyPy project had produced a working prototype. There
+existed a working interpreter and standard implementation of 90% of
+the python types, as well as such language features as nested scopes,
+generators and metaclasses. We had begun work on a type inference
+engine. Perhaps most importantly, we had the enthusiastic support of
+the Python community. Guido van Rossum, author of Python, not only
+endorsed the PyPy project, but attended our Louvain-La-Neuve Sprint.
+No work had been done on actually Optimising the code, so it ran
+FIXME 30,000 times(?) slower than existing Python. But for a
+proof of concept, approximately three weeks work total, it was
+a success.
+
+It was time to look for funding.
+
+On 17th of June, that is to say exactly one week before, the 2nd Call
+of the Information Society Technologies [IST] Priority went out.
+Included in it was IST-2002-2.3.2.3 - Open development platforms
+for software and services. We believe that what we intend to do
+is perfectly addressed by this Call.
Added: pypy/trunk/doc/funding/B2.0.0_relevance.txt
==============================================================================
--- (empty file)
+++ pypy/trunk/doc/funding/B2.0.0_relevance.txt Sun Sep 14 12:39:38 2003
@@ -0,0 +1,139 @@
+B.2 Relevance to the objectives of the IST Priority
+
+Describe the manner in which the proposed project's goals address the
+scientific, technical, wider societal and policy objectives of the IST
+Priority in the areas concerned.
+
+(Recommended length three pages)
+-------------------------------------------
+
+PyPy is a precise match for IST-2002-2.3.2.3 - Open development platforms
+for software and services. Its stated objective is as follows:
+
+ To build open development and run-time environments for software
+ and services providing the next generation of methodologies,
+ interoperable middleware and tools to support developers - through all
+ phases of the software life-cycle, from requirements analysis until
+ deployment and maintenance - in the production of networked and
+ distributed software systems and services, embedded software and
+ value-added user services. This will enable the development of future
+ software engineering methods and tools.
+
+The PyPy project aims to build an flexible and fast implementation of
+the Open Source programming language Python written in itself. Python
+is a Very High Level Language, a modern tool for developing software.
+While Python is already suitable for developing software of all sizes,
+this new implementation of Python would be particularly suitable for
+the development of networked, distributed software systems, and
+embedded software. It will facilitate the development of future
+software engineering methods and tools.
+
+Priority is to be given to projects in which
+
+ 'strong industrial users join forces with software and service
+ suppliers in building common platforms with support of academic
+ research partners'.
+
+This Project is a collaboration between Academic Researchers, and
+Software and Service providers to produce an outcome desired by
+all industrial users. ASK_STOCKHOLM 'what's an Industrial User?'
+Is AB Strakt one? Large companies, who are not software providers,
+such as Bang and Bang & Olufsen, the Danish maker of high-end audio
+equipment, http://www.bang-olufsen.com/ have expressed interest in
+using PyPy once it is developed.
+
+Moreover, our project is relevant to every focus objective.
+
+Focus is on:
+
+ a) High level methods and concepts (esp. at requirements and
+ architectural level) for system design, development and
+ integration, addressing non-functional aspects, complexity,
+ autonomy and composability.
+
+PyPy will advance the 'state-of-the-art' in specializing compilers,
+with a new architecture for Object Libraries that provide for radical
+improvements in composability, autonomy, and composability.
+
+ASK_STOCKHOLM DO I HAVE TO EXPLAIN THIS MORE?
+
+ b) Open and modular development environments, enabling
+ flexibility and extensibility with new or sector-specific
+ tools (e.g. intelligent distributed decision support),
+ supporting different adaptable development processes and
+ methodologies and ensuring consistency and traceability
+ across the development lifecycle.
+
+Flexibility is one of the Primary goals of PyPy. Our new architecture
+will be the basis of a host of more flexible and extensible ways to
+create software products. PyPy will, of course, be released as
+Free/Open software, under the MIT license.
+
+FOOTNOTE: Stick MIT License in here.
+
+ASK_STOCKHOLM -- Am I correct? They want the thing we made to be
+Open and Modular? Or are they asking that our own way of working uses
+Open and Modular techniques? We do this as well ....
+
+ c) Light/agile methodologies and adaptive workflow providing
+ a dynamic and adaptive environment, suitable for
+ co-operative and distributed development.
+
+Each member of the group is committed to Agile Methodolgies. Some of
+us have experience with Crystal and others with XP, [FIXME add URLS
+and see if we have any more trained people on the team]two of the more
+popular ones. Moreover, since we have been active for many years in
+the Open Source community, we are already used to co-operating with
+others in a distributed development process.
+
+ASK_STOCKHOLM -- is this what they want, or more like this?
+
+AB Strakt is a young Swedish software company whose main product, CAPS
+is an adaptive workflow framework. A faster Python would seamlessly improve
+this product, and those applications which are based upon it.
+
+[FIXME: if we want this bit, we want to refere to the AB Strakt Appendex, that
+ says that we are a cool company, and that we do workflow and procurement,
+ and that we are responsible -- blah blah blah. I'll boast about
+ Strakt later, or see if I can steal some boasts from marketing.]
+
+ d) Open platforms, middleware and languages supporting
+ standards for interoperability, composability and
+ integration. (incl. e.g. P2P, GRID, autonomy, agents,
+ dynamic adaptability and evolvability, context awareness,
+ customer profiles). Open source middleware layers can
+ facilitate rapid and broad adoption.
+
+PyPy is an Open Language. ASK_STOCKHOLM. So they have just asked us to
+make them a languaqe? Or they just want us to use a language to make
+what we are making?
+
+ In addition, related foundational research, to be implemented by
+ Specific Targeted Research Projects and Coordination Actions, should
+ focus on fundamental design concepts, systematisation of domain
+ specifications, concurrency, distribution and timing, formal and
+ quantitative analysis and testing tools, and future database and
+ information system concepts.
+
+ASK_STOCKHOLM PyPy is Applied Research. When they say 'foundational
+research' do they want 'foundational applied research', in which case
+we can all cheer and say, here we are with a STREP, new foundational
+research in the field of specializing compilers, just what you asked
+for? Or by 'foundational research' do they mean the sort of basic
+research that has no direct applications, but goes under the heading
+'it is nice to learn stuff'?
+
+ Work should where appropriate, enhance and complement work
+ implemented under EUREKA/ITEA and in software initiatives at member
+ and associated state level. The IST programme will seek active
+ co-operation with ITEA in software intensive systems.
+
+ASK_STOCKHOLM I don't know how to find out which work implemented under
+EUREKA/ITEA was implemented using Python. I do know of 2 prior IST
+projects. FIXME: add URL for ASWAD. A faster Python will enhance
+any project done in Python. Also, if this means that EUREKA/ITEA
+has more pots of money that they would like to hand us, we'd love
+to take it.
+
+
+
More information about the Pypy-commit
mailing list