[Grok-dev] Re: What is Grok anyways... time for a name change? :)

Martin Aspeli optilude at gmx.net
Wed May 9 18:08:40 EDT 2007

Sebastian Ware wrote:

Disclaimer: All of this in my opinion, and I'm not a Grok core developer 
or even a Grok user in any serious capacity.

> If I hadn't spent hours of research and a great deal of time with  
> Zope 2, I would never have understood what relationship Grok has to  
> Zope 3.

That's probably a marketing thing. Also, bear in mind that Grok is 
really very new. :)

> Whereas this might be due to my personal limitations, I think  
> it is mainly because of the choice of identity.

Sure. But identity != name, necessarily. I think the name "Grok" is very 
cool. It has a semantic meaning ("to grok something", which at least 
people I speak to would understand in colloquial terms), which is 
related to its purpose (making it easier to understand and use Zope 3 
technology). It has an identity - the caveman, which is already spawning 
a sub-culture of its own (GrokStar, HerdOfMammoths...).

> What is Grok? A tool for cavemen who want to use Zope 3? Doesn't  
> sound very comforting. 

It doesn't? Comforts me plenty. :) If I can be productive without being 
smarter than a caveman, that makes me very happy.

Why is it discomforting?

> I am still not entirely sure -- what is Grok?  

Maybe that's because it's evolving? Maybe it's something the Grok 
developers need to make more clear on the website. For now, think of 
Grok as a project which is rapidly producing a (small) framework and set 
of patterns for increasing your productivity and letting you take 
advantage of the incredible power of Zope 3. At least, that's how I 
think of it.

> As Zope 3 evolves, does Grok evolve too?

Of course. You can use any Zope 3 component from within a Grok-based 
application. At least, that should be the aim.

 > In an other direction?

There are some choices that differ from those building "pure" Zope 3 
applications. Mostly, that's about configuration of components. In a 
"pure" Zope 3 world, you do that with ZCML and interfaces. If you use 
Grok, you'd probably start with some base classes and 
convention-over-configuration concepts and evolve more generic things 
only as necessary, and probably stay away from ZCML, at least to to 
begin with.

> Does  
> stuff for Zope 3 work with Grok?


>  From an identity point of view, the clear separation of the Grok  
> (name) from Zope 3 results in neither effort helping the other. What  
> would you rather evaluate:
> -.Net
> -Django
> -Grok
> -PHP
> -Ruby-on-Rails
> -Tomcat
> -Turbo Gears
> -Zope 3

None of those names leap out at me as being particularly good or bad. 
They are also largely orthogonal things, not directly comparable.

> When in fact Grok and Zope 3 are based on the same mature code base  
> and could be evaluated as two development styles -- whatever suits  
> your shop. And the connection could be reflected right in the name  
> such as "Grok-on-Zope3". Now THAT would make it a lot less like Yet  
> Another Python Framework... and a lot more like... hmmm...  
> intereseting... what's the twist?

Beh, that name sucks. An obvious throwback to Ruby-on-Rails, except not, 
because Ruby is the language and Rails is about alliteration.

> Rounding off with a small Yet Another Python Framework warning...
> "YAPF is a web application framework for Python developers. It is  
> aimed at both beginners and very experienced web developers. YAPF has  
> an emphasis on agile development. YAPF is easy and powerful."
> ...only the original swaps GROK for YAPF... ;)

Sure. But that's open source. I'd contest that Grok is quite different 
from TurboGears or Django or Pylons, though. It's about taking something 
with a very long history (Zope 3, which itself is learning the lessons 
from Zope 2), and making it more accessible and easier to get started with.

Grok is not "using" Zope 3. Grok *is* Zope 3, in that you have the full 
Zope 3 stack behind you. However, Grok helps you decide how to use the 
Zope 3 components, by promoting certain patterns and providing certain 
tools to make your life easier, giving you a smaller initial learning 
curve and a better starting point.

It's not about inventing radically new concepts, nor, I suspect, about 
writing lots of code. The Grok developers are also Zope 3 core 
developers. I suspect that's the way it stays.


More information about the Grok-dev mailing list