[doc] FAQ improvements based on posts in forums.
authorSandrine Ribeau <sandrine.ribeau@logilab.fr>
Tue, 06 Jan 2009 12:52:52 -0800
changeset 337 eb329d0db467
parent 336 abb7ea9bed71
child 338 25aae8a15532
[doc] FAQ improvements based on posts in forums.
doc/book/en/D010-faq.en.txt
--- a/doc/book/en/D010-faq.en.txt	Tue Jan 06 09:10:35 2009 -0800
+++ b/doc/book/en/D010-faq.en.txt	Tue Jan 06 12:52:52 2009 -0800
@@ -16,19 +16,46 @@
   It does. Actually, you can use your preferred template language if you
   want. [explain how to use a template language]
 
+  `CubicWeb` does not define its own templating language as this was
+  not our goal and emphasize. Based on our experience, we realized that
+  we could gain productivity by letting designers use design tools
+  and developpers develop without the use of the templating language
+  as an intermediary that could not be anyway efficient for both parties.
+  Python is the templating language that we use in `CubicWeb`, but again,
+  it does not prevent you from using a templating language.
+
   The reason template languages are not used in this book is that
   experience has proved us that using pure python was more efficient.
 
 * Why do you think using pure python is better than using a template language ?
 
-  [copy answer from forum]
+  Python is an Object Oriented Programming language and as such it
+  already provides a consistent and strong architecture and syntax
+  a templating language would not reach. 
+  
+  When doing development, you need a real language and template
+  languages are not real language.
+
+  Using Python enables developing applications for which code is 
+  easier to maintain with real functions/classes
+  without the need of learning a new dialect. By using Python,
+  we use standard OOP techniques and this is a key factor in a 
+  robust application.
 
-  code is easier to maintain, does not have to learn a new dialect
-  each time, real function/classes etc -> real development
+* Why do you use the GPL license to prevent me from doing X?
 
-* Why do you use the GPL license to prevent me from doing X ?
-
-  [copy answer from forum]
+  GPL means that *if* you redistribute your application, you need to 
+  redistribute it *and* the changes you made *and* the code _linked_ 
+  to it under the GPL licence. 
+  
+  Publishing a web site has nothing to do with redistributing
+  source code. A fair amount of companies use modified GPL code
+  for internal use. And someone could publish a `CubicWeb` component 
+  under a BSD licence for others to plug into a GPL framework without 
+  any problem. The only thing we are trying to prevent here is someone
+  taking the framework and packaging it as closed source to his own
+  clients.
+  
 
 * CubicWeb looks pretty recent. Is it stable ?
 
@@ -37,7 +64,24 @@
 
 * Why is the RQL query language looking similar to X ?
 
-  [copy answer from forum, explain why similar to sparql and why better
+  It may remind you of SQL but it is higher level than SQL, more like
+  SPARQL. Except that SPARQL did not exist when we started the project.
+  Having SPARQL has a query language has been in our backlog for years.
+
+  That RQL language is what is going to make a difference with django-
+  like frameworks for several reasons.
+
+  1. accessing data is *much* easier with it. One can write complex
+     queries with RQL that would just be impossible to define or unreadable
+     using an object/filter suite of method calls.
+
+  2. it offers an abstraction layers that allows to have a single
+     framework that runs on multiple back-ends. We have not published the
+     SQL backend yet (still working on separating it clearly from other
+     backends), but we already have components (pieces of schema and views)
+     that run both on SQL and AppEngine. 
+
+[copy answer from forum, explain why similar to sparql and why better
   than django and SQL]
 
 * which ajax library