Once in a while I get questions about license (why not BSD?) or future
(why not change it and break backward compatibility? why not move to
python3).

Well. There are many frameworks that do that. I wrote web2py because I
do not like it.

Web2py was not designed to please web2py contributors (sorry). Web2py
was designed to please the users and make sure their code does not
break as we evolve web2py. This allows us to guarantee them backward
compatibility and allows them to be sure they can invest in web2py
long term.

**This is its strongest selling point. This is what we should
emphasize and make clear to our friends.**

This does not mean we will not keep improving web2py. We have been
doing it constantly.

This does not mean that there cannot be forks that take a different
direction. Although those forks cannot be called web2py in order to
avoid confusion to users.

This does not mean there is life after web2py. There will be something
and we'll learn from our mistakes but whatever follow web2py has to be
drastically different for me to have an interest in it.

This does not mean that web2py is perfect as it is. What is perfect
anyway? It is subjective. (This reminds me of that housewife that
keeps rearranging the kitchen. Is there a better arrangement than the
one the other family members have already learned and allows them to
find utensils quickly without thinking?)

This does mean that we, developers and contributors, may sometime have
have to put extra work to fit new features into the existing design. I
say may because I do not think it was a problem so far.

This does not mean that we cannot rearrange the code internally. I am
open to experimentation.

This does not mean that we cannot create new programming paradigms
(for example new widgets that contain validators) as long as existing
syntax continues to be supported.

This does not mean that we cannot use other repositories for web2py
code although I think we agreed some time ago to move to mercurial +
google code. I am still leaning that way since launchpad is too slow.
I apologize for the delays but the book took precedence.

My main job here is to make sure that patches do not break existing
code and conform to the web2py spirit.

This is not negotiable.


Some people have criticized the current exec in environment where some
modules are already imported. They say it is not Pythonic. I do not
care. That is one of the main distinct features of web2py:
do_no_repeat_yourself in web2py takes precedence over
explicit_is_better than implicit. This is what makes Rails still more
popular than Django. web2py moves one step further than Rails by
giving more things an implicit default, including views. I do not
think this is a weakness. This is another selling point. Moreover the
current design has been developed to avoid conflicts between apps that
need different versions of the same libraries or libraries that have
name conflicts.  Without it the imports would become depend on the
order of items in pythonpath and the order of execution of apps. This
is a big can of worms that we do not have to deal with. Currently you
can import an app in web2py written by somebody else with its own
modules and you do not need to worry about conflicts.

Some of the critiques have come from members of the python community
who have a vision about what a web framework should be: it should be
more like Pylons or more like Django or more like Cherrypy or more
like one of the other web frameworks. I respect their vision and I am
not asking them to use web2py nor to contribute to it. I take a more
pragmatic approach. My ideal web framework is one that makes life
easier to those who want to learn it for the first time and, secondly,
to those who use it at a professional level. If this means breaking
some programming paradigms that are considered standard in the python
community then be it, as long as we conform to good security and
software engineering standards. I do not agree with everything the
python community does. In particular I do not think that Python 3 was
a very good idea. I do not think the changes were significant enough
to justify breaking every existing python program out there.

What makes me happy is that people who have actually tried web2py seem
to like it.

Massimo
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to