Duda I/O web services framework project was started almost two years ago, initially as a Monkey HTTP Server extension to create scalable web services in C, nowadays both components together are a complete stack to develop any kind of event-driven web backend application that relies on HTTP or Websockets.  As mentioned in early post, the web is not just about images, CSS or any JS scripts, its about also about fast data transfer and scalable services that aim to optimize resources usage with low overhead.

Sincerely i would say that Duda I/O and Monkey projects are the Mozilla of the backend side, of course we are far of their commitment but i would say the mission is the same: promote openness, innovation & opportunity on the Web.

Scale a C project at a community level is hard, due to the target market, the number of early adopters is very low compared to any  GUI or Web (front end) project, but once it get's in and it works.. things changes in a positive way. At the moment there are a couple of Duda I/O instances running in production in private companies from US, Sweden and Germany, and i can conclude by their feedback the reasons of the adoption are pretty much the same:

  • High performance: all implemented web services requires some kind of real-time processing data coming from HTTP requests.
  • Open source stack: proof of good security handling, no back-doors. What really matters is that "It is open" (not talking about money).
  • Proof of years of development and commitment, the project will not disappear because of a one man project.
  • Good support: on early stages of evaluating the stack, their always receive good support through the mailing list or private emails.

Also much of the latest changes on the stack, comes from end-users feedback on topics such as documentation, development environment, API changes, etc. So this year have been a big step forward on terms of adoption and features improvements, next year will be even more fun and of course more hard work on:

  • Native deployment, native packaging for different Linux distributions.
  • Co-routines support to make easier to defer async work from callbacks.
  • SPDY & HTTP/2.0 .
  • New QA environment, stability and avoid regressions are high priority.
  • Clustering mode.
  • Sandboxing.
  • ...others.

Personally i am just happy with all goals achieved during this period and very thankful to be part of a small but great community.