FAQ


Below are frequently asked questions about Wakanda... and their answers!

What is Wakanda?

Wakanda is a full-stack JavaScript development and runtime environment for Web and mobile applications (and is open-source). 
 

What does Wakanda include?

Wakanda is comprised of three main components: Wakanda Application Server with WakandaDB, Wakanda Application Framework (WAF) and Wakanda Studio.


What is the Wakanda Application Server?

Wakanda Server is a multi-threaded, data-centric, JavaScript (JS) runtime environment, which includes WakandaDB, a model-driven NoSQL object-data-store, and an HTTP server for scalable cloud based Web applications.


What is WakandaDB?

WakandaDB is a model-driven NoSQL object-data-store integrated into Wakanda Server.
Its DataModel is composed of DataClasses defining attributes and methods of storable JavaScript objects.
Its data can be accessed via:
- a native server-side JavaScript API
- a native HTTP REST API
 

What is the Wakanda Application Framework?

The Wakanda Application Framework (WAF) is a client- and server-side MVC JavaScript framework operating on the Wakanda stack. It manages REST and RPC services, client-side PubSub, Web components, and a rich set of UI widgets.
  

What is Wakanda’s licensing model?

Wakanda uses a "dual licensing" business model.

What do you mean by Dual Licensing?

"Dual licensing" means that the same code is released under two different licenses. Wakanda's dual licensing model is based on the principle of fair exchange.

If you are using Wakanda commercially – that is, for creating proprietary software for sale or use in a commercial setting – you must purchase a commercial license.

Alternatively, if you wish to write open source software you can use the open source version of Wakanda, including the server released under the AGPL. If you use the open source version you must release your application and complete source code under the AGPL as well.
 


What are the licenses?

By default Wakanda is used in "Scout" mode with community licenses.
  1. The Wakanda framework (WAF) is provided under the GNU GPLv3.0 open source licence
  2. The Wakanda server is provided under the GNU AGPL v3.0 open source license
  3. The Studio is provided under a free community license. Meaning, the source code is not all available but you can use it free of charge.
When upgrading to the "Warrior" mode, all Wakanda components are usable under the commercial license which protect your code, allows unlimited deployment, and premium forum access.
 

What does the GNU AGPL license imply for Wakanda Server?

With the AGPL license, Wakanda is available free of charge, under certain conditions. That is, developers may download Wakanda for free and modify, integrate, and distribute it with their own GPL'ed or AGPL'ed products. However, AGPL users must abide by the rules of the AGPL, which stipulate that if a Wakanda-based application is redistributed, the complete source code for this application must also be open and available for redistribution. Furthermore, if you are only running your own software on a server for SaaS purposes, you will still need the publicly distribute all of your source code.

Note that only Wakanda itself is provided under the AGPL. Any accompanying libraries have their own license (which is compatible with the AGPL license). Even if the source code of those components is published for peer review, the copyright status of those components remains under their respective license(s).

Wakanda offers a commercial license for organizations that do not want to make the source code for their application available to everyone. Commercial license customers get a commercially supported product with a level of assurance from Wakanda, without the requirement that their Wakanda-based software must be "open sourced." Wakanda is able to provide a commercial license because it has full ownership of the Wakanda code.

Wakanda's dual licensing increases freedom in two ways: First, it encourages the growth of free software by licensing Wakanda under the AGPL; second, it makes it possible to use our software in situations where the AGPL is not applicable.

How do I know which license to use?

The overall guiding business principle of Wakanda's dual licensing is one of fair exchange. If our software makes money for you, we would like to be paid too.

So if you use Wakanda with AGPL-licensed software (or a license that is GPL-compatible) we encourage you to use the AGPL license. For all users who do not want to share their code, we recommend that you purchase a Wakanda subscription plan.

When can I get the source code?

The Wakanda Framework (WAF) source code as well as the Server source code are available today at http://github.com/wakanda.

What is the pricing?

Wakanda is free and open source. A commercial subscription plan which includes premium forum access is available for $35/month/developer to people who do not wish to share their code.

What if I have several developers?

Because our commercial plan is developer based, each developer who work on your project need to be included in the same subscription plan. Additional developer subscriptions start at $35/month.

What is the Premium forum?

The Premium forum is a portion of the Wakanda forum open exclusively to paid subscribers of Wakanda Warrior.

What is the benefit of Premium forum support?

As you may know, all support for Wakanda happens via the forum. However, those who have paid Wakanda Warrior subscriptions are entitled to support via the Premium forum.

Premium forum support issues are given priority by the Wakanda team, ahead of community support questions in the standard forum.

Where do I find the Premium forum?

If the email for your Wakanda forum account is associated with a commercial (Warrior) plan, the Premium forum will appear as the first item in the list after you have successfully logged in.

I bought a Warrior subscription. Why can't I access the Premium forum?

If you already had a forum account before becoming a Wakanda Warrior:
The email address you provide when declaring your developer upon buying a Warrior plan needs to be the same as the email address you used to create your forum account. This way you'll be able to directly see and access the Wakanda Premium forum (from the top of our general forum page)

If you're creating your Wakanda forum account for the first time:
When creating your forum login, you need to use the same email address you provided when declaring your developer. This way we can identify you as a Warrior and grant you automatic access to the Premium forum.

What if I need more than premium forum support?

For additional support options, contact a 4D sales representative from your region.

How is Wakanda different from Node.js?

Wakanda is a full-stack, multi-threaded JavaScript deployment environment, Wakanda Application Server includes a high performance object data-store, Web server and a client- and server-framework (WAF) which can run multiple Wakanda applications.

The Core of Wakanda is WakandaDB - a NoSQL object database.

Node.js is a mono-threaded engine running in EventLoop. It is often used in combination with an external database (MySQL, MongoDB, CouchDB...) and can be used in front of WakandaDB. It is fast but requires you to write asynchronous code only and to dispatch the load to other node.js processes yourself.

How is Wakanda different from MongoDB?

MongoDB is a schema-less document store, whereas WakandaDB is an object data store with object relational mapping.

Both have server-side JavaScript, but Wakanda provides a REST/JSON API over HTTP whereas the Mongo Wire Protocol needs a TCP/IP socket connection.

MongoDB is single-threaded, without object relational mapping and no transactional support.

Commercial subscriptions

What is the definition of a developer?
A developer is a person who develops, designs or administers a Wakanda application.

Do all developers from the same company need to be included in the same subscription plan?
No they don’t have to, but it might be more cost effective if some of the developers work across different projects.

If I buy a plan for my company, can I switch developers?
Yes, for instance if a developer leaves the company or the project, you can switch the name to another developer.

Can I stop my subscription plan?
Yes, you can unsubscribe before the end of your subscription period with a required 10-day notice for a monthly subscription and a 30-day notice for a yearly one.

Can I add developers to my existing subscription plan?
Yes, you can add new developers at any time.

Can I remove developers from my existing subscription plan?
Yes, you can remove developers who have left your company or project before the end of your subscription period with a required 10-day notice for a monthly subscription and a 30-day notice for a yearly one.

I subscribed to Wakanda "Warrior" but I can't access the premium forums. What happened?
It's likely you are using a different email address for the forum than you declared when subscribing. Please wakanda [at] wakanda [dot] org (contact us) to take care of this matter.

What happens if I develop an application with the open source license and later decide to deploy it by buying a subscription plan?
That’s fine. We advise you to do it early in your development stage to avoid any open source obligations.

If the client to whom I'm selling my Wakanda application has developers internally, do they need to buy commercial licenses as well?
Yes, if they are going to work on the application by enhancing it or administering it, then these developers will need to be included in the subscription plan.

Is it possible to get a higher level of support?
Yes, additional support is available. Contact a 4D sales representative for more details.

Do you provide training and/or consulting on Wakanda?
We are planning to provide training and consulting, wakanda [at] wakanda [dot] org (contact us) for more information.

Does the subscription include new release versions?
Yes, it does.
 
 

Wakanda Architecture

What are datastore classes and models?
A datastore class is a persistent object: The attributes of the class are saved on disk in the datastore and can be retrieved at any time. Related classes, if any (a typical employee/company, for example) are also persistent.

"The Wakanda datastore model uses a datastore class paradigm rather than a relational database methodology. Instead of representing information as tables, records, and fields, Wakanda uses a new approach that more accurately maps data to real world items and concepts."
from Wakanda Server-Side Concepts (PDF)

Can I continue using my favorite framework with Wakanda?
Yes. Just include the appropriate scripts at runtime (Note:Wakanda Application Framework comes with jQuery 1.4.3).

You even can create the full interface from the source view (or via your current IDE) and access Wakanda Server data using its HTTP API (See the corresponding documentation at doc.wakanda.org).

Can I add/create my own widgets in the GUI Designer?
Yes. See the corresponding documentation at doc.wakanda.org

Can I theme my Wakanda pages?
Yes. You can add your own CSS file(s) to any HTML page you create with the Studio. As of today (Wakanda Beta), some attributes are set inline and thus must be overridden by JavaScript code.

How fast is Wakanda?
The datastore engine is damn fast. You can query over a billion entities in 0-3 ms. Attributes of datastore classes can be indexed – using the appropriate index will speed up data access. Furthermore, querying on related entities, using "projections" (see Wakanda Datastore documentation) is very fast.

Server-side, Wakanda uses the SquirrelFish Extreme just-in-time compiler, which is known to be very fast. Just remember to stop the debugger in your production environment or when you're doing benchmarks, because when it is running, it slows down code execution. (This is standard behavior.)

Doing JavaScript on the server side, what a strange idea. Why?
JavaScript is widespread and easy to learn. It's already used in the browser by lots of developers. Having one single language in the full stack (from server to browser) makes it easier to develop/maintain an application, and to hire developers. Every year there are an increasing number of JavaScript events and conferences around the world where people meet and improve their skills.

On the Server-Side, JavaScript is fully ready for professional usage. Its dynamic behavior makes Wakanda Server very fast and optimized for accessing data in the datastore.

Can I develop for mobiles with Wakanda?
Yes. The studio lets you create your HTML pages for desktop, mobile or tablet, with widgets that have been adapted for the "Touch" environment.

How about PHP?
The language is JavaScript. With the SystemWorkers API, you can launch PHP using the command line of your platform.

Other Questions

Is Wakanda a comic book character?
No. We're aware that "Wakanda" is used as the name of the country from which the comic book character Black Panther hails in the Marvel universe. We're quite happy to coexist with them, but our Wakanda is different. In fact, we got it from the Sioux Indian name for the "inner magic" that's in everything. We feel that our product, appropriately, has a little inner magic of its own!