On Thu, 15 Sep 2005, holger krekel wrote:
On Wed, Sep 14, 2005 at 22:17 -0400, Michal Wallace wrote:
... The stated goal for this project is just to make a faster version of python, but can you really charge for that given that pypy is already open source?
PyPy is not primarily - at least not only - about making Python faster although many people like to view it this way :-)
Hi Holger, What I said is that the stated goal is to make a faster version of python. I actually looked it up before I wrote that: """ The PyPy project aims at producing a flexible and fast Python implementation. The guiding idea is to translate a Python-level description of the Python language itself to lower level languages. Rumors have it that the secret goal is being faster-than-C which is nonsense, isn't it? more... """ -- http://codespeak.net/pypy/dist/pypy/doc/news.html As Martijn Faassen said, it's not surprising that people have the impression that pypy is all about speed. I think part of the problem is that people understand the word "fast". What that means is obvious. It's like python, only it runs faster! "Flexible" doesn't mean anything to me. Python is already flexible, so what does that mean? Well, you've got these different backends. Maybe that's what it means. And the people who made stackless and psyco and green threads are on the team, so maybe it's about those things. Who knows? The site doesn't say so if we want to figure out the status of those things, we have to think about it.
PyPy is a lot about flexibility to produce custom implementations of Python for use in particular environments. Regarding persistence,
Persistence. What does that mean? Is that like Squeak, where you can save the state of the whole interpreter as a single image? If so, that's pretty neat! It ought to be right up front on the site.
security (e.g. sandboxing)
Also neat. So another benefit is that you can make programs that run other programs safely? I know some guys from twisted like that stuff, because they want to make games where people can run their own scripts.
and deployment
I don't know what this means at all.
there is a lot that we can possiblly do with PyPy implementations. I am sure that such possibilities will become clearer next year.
Cool. I guess I was thinking more about what you could do to make money *now*, given the current state of the codebase... Sounds like one big part of that would be telling people more about the potential so they can say "I want that! I'll pay to make it happen!" :) Another thing I suspect is part of pypy but isn't really right up front is the whole continuations thing. Yes, CPS dos make an appearance int he top news article on the news page, but that'll just get buried as you post more news. Basically "flexible" is a feature, and not a very well defined one. Features don't sell well. What sells are benefits, and "fast" is a benefit. So if it's not the primary benefit, it's time to fix your message. :)
Another option is that you could use your technology created in pypy to create new *frontends* for pypy, and sell the service of taking legacy code in other languages, and translating that into call trees, and turning it magically into python or lisp or c... This seems like it could be a much more lucrative service, but it's a whole new research project and it takes you away from your core focus on python. (On the other hand, a company that did this would have a massive incentive to sponsor pypy development... Maybe there's a company that already does this kind of thing with some other technology... Like, say, people just rewriting things by hand?
A build tool is part of the current EU project and of our plans.
I don't understand. What I'm saying is that since you can translate python->lisp or python->python, then maybe you can use the same technology to translate cobol->python or cobol->java or whatever using the cool internal technology that pypy has. This would be a major research project and well outside the bounds of the pypy project. However, if I recall, there are already companies that do this kind of thing and pypy's internals might be of use to them and their clients. That's all I was saying. I'm not sure what build tools has to do with that. ;)
Another idea has to do with the sprints. I already told Holger this a while back, but I think you guys have one of the most impressive project management styles around, and the sprint idea seems like a great amount of fun.
What if you capitalized on *that*?
A week in europe to work on an open source project? That would be an awesome vacation! And to get to learn about compilers and python along the way?
We are doing this regularly :-)
You have sprints regularly, but are you marketing them to companies as a reward or training for top employees? Last I heard, at least some of the sprints were limited to experienced PyPy developers, right? Obviously you don't want 500 newbies running around, but... <shrug>
Anyway, it might be a crazy idea, but if you could get it working, it would capitalize on what you're already doing rather than force you to come up with some other devlepoment project off to the side...
There are many possibilities but only so much time and focus to pursue them. Bea also reported quite some interest from other projects and entities in the EU context. We got invitations to Afrika and other places and i guess we pursue them :-)
Well, now that I hear the talk that there are other benefits than speed, I'd say you'd have a much better chance of making money if you capitalized on that. Also, all of this is about the top line, or revenue revenue. What about the bottom line? The bottom line is your profit: income minus expenses. PyPy development is very expensive. As I said, I love the idea of the sprints. I think they're great. They're also expensive. I don't know for sure that they're expensive to host, but they're certainly expensive to attend - especially for people who live on another continent. Lowering the cost of participating in pypy won't put any money in your pockets, but if the goal of the money is to have more man hours put into developing pypy (and I don't know what the goal is, but that is my guess) then there are many other ways you can get more smart people working on it. For example, I clicked on "issues" on the pypy site. Turns out these are not just issues, but also a sort of "to-do" list. Are any of these things that a newbie could do without going to a sprint? Maybe with some guidance. For example, to take an issue at random... #118 : "pickling of ll flowgraphs" I'm sure to you guys, pickling of ll flowgraphs makes a lot of sense. But to me as an outsider, I'm not sure what it means. Does ll mean llvm or low level? And what prevents you from pickling it? Can you write a test case that would pass if pickling ll flowgraphs worked? To an outsider like me, PyPy works by genius-level black magic. So if I wanted to help out and get ll flowgraph pickles working, I'd have a huge learning curve. I also don't know if it's really important or not. So basically if I want to help out with some code over the weekend, I look at the task here and I see a huge learning curve and then after all that work, I don't know if the task is really important or not. So what I'm saying is that it's difficult for people to pick up pypy. The impression is that you have to wait for a sprint and then go to europe if you want to help out. So I imagine that recruiting help is very expensive in terms of time. The point, then, is that one way to reach your goals without needing people to give you more money is to make it easier for people to give you their *time*. I'm working on a similar problem for pirate and at my own company, and I'd be willing to help with making the to-do list more approachable to newbies if you guys are interested. Sincerely, Michal J Wallace Sabren Enterprises, Inc. ------------------------------------- contact: michal@sabren.com hosting: http://www.cornerhost.com/ my site: http://www.withoutane.com/ -------------------------------------