[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