Archive | Project of the Month RSS for this section

September 2015, “Community Choice” Project of the Month – PSeInt

For our September “Community Choice” Project of the Month, the community elected PSeInt, a pseudo-code interpreter for Spanish-speaking programming students. Pablo Novara, PSeInt Lead Developer, shared his thoughts about the project’s history, purpose, and direction.

SourceForge (SF): Tell me about the PSeInt project please.
Pablo Novara (Novara): Learning how to program involves learning about algorithms, variables, expressions, functions, flow control, data structures, etc. And, in order to test these ideas, you also need to understand a programming language, and about compilers or interpreters, plus how to setup a project in an IDE. However, many non-English speakers also have an additional barrier – language.

Many books start with some kind of pseudocode or flowchart to let the student focus on the logic behind the algorithm and keep all the other complexities hidden. PSeInt is a tool for Spanish speaking students that implements these ideas and allows them to experiment and play, providing a very simple pseudocode and flowchart editor and interpreter with features specifically designed for classroom usage.

SF: What made you start this?
Novara: In a programming course during my first year of college, I saw students struggle to write their first algorithms in a very simple pseudocode proposed by our instructors. Being that we were using a mock language with no real implementation, we were dependent on our instructor’s review to learn if we had succeeded. With just a few teachers and many students, it occurred to me that we needed a tool to see if the algorithms’ outputs were correct.

SF: Has the original vision been achieved?
Novara: Yes, I just wanted be able to run an algorithm with that particular pseudocode and get the output. This was a very limited vision and I achieved that goal handily.

SF: Who can benefit the most from your project?
Novara: Students and teachers.

SF: What core need does PSeInt fulfill?
Novara: The system does a lot more now than just running the pseudocode and that’s why students get so much useful feedback. PSeInt helps them find and correct errors, and keeps them motivated through experimentation and play. The teacher gets a tool to present practical examples and explain how something works.

SF: What’s the best way to get the most out of using pseint?
Novara: A teacher should explore it completely in order to know what can be done with it and to design lessons and activities to take advantage of PSeInt’s features. It is specifically designed to assist both the student and the teacher, but it is not a replacement. It is not a tool that teaches programming by itself.

SF: What has your project team done to help build and nurture your community?
Novara: I am the team. For many years the project had a very small community of users so all the communication was done by email. Eventually, when I realized that PSeInt was growing, I worked to boost this trend. This is where SourceForge, along with some other SourceForge projects, played an important role. Following the advice and ideas from Rich Bowen’s posts and slides, I rethought the website, improved the documentation, started using the forums system, and encouraged users to do the same. I also made the git repository public.

Another nice idea was to blog freely about anything I wanted to let the community know. I’ve taken this idea from SuperTuxKart. I always read their development blog and to find useful material, so I wanted something like that for my project.

SF: Have you all found that more frequent releases help build up your community of users?
Novara: I’m a big fan of Eric Raymond’s RERO philosophy. Being an extremely small development team, I rely on users to fill the gaps. I try to release often to keep them active and interested, but “often” can also means “too early”, so they respond with a lot of bug reports, suggestions, new ideas, and all kind of useful feedback.

SF: What was the first big thing that happened for your project?
Novara: In college I had to develop a piece of software to pass a programming exam, so I started PSeInt. After the exam I abandoned it for more than a year. Then came a chance to include it in a free educational software compilation, which revived and jump-started the next phase of the project.

SF: What helped make that happen?
Novara: I heard about some free software groups that were building that compilation. I wrote to them saying something along the lines of “I’ve got this in case you might like.” And they did. This led me to register the project here, provided me with some very valuable feedback, and gave PSeInt some initial diffusion.

SF: What was the net result for that event?
Novara: I don’t know if PSeInt would have been revived without that feedback and motivation. So I have to thank mainly to Adrian Staffolani and Roman Gelbort for not letting that work die.

SF: What is the next big thing for PSeInt?
Novara: I don’t know. Some users ask for an Android version, others want it for different languages, still others would like to see it handle heterogeneous data structures and graphics.

SF: How long do you think that will take?
Novara: These ideas require a lot of work and internal refactoring and none of them are planned in the short term. Actually there is no plan. Maybe tomorrow someone points me in the direction of another big idea that gets implemented in just a few weeks. It depends on what it takes to get it done. Two ideas can look similarly complex yet require very different amount of work.

SF: Do you have the resources you need to make that happen?
Novara: The most important resource here is time. I do it for free, and my free time is shared with two other free projects (ZinjaI and MotoGT), along with some other hobbies.

SF: If you had it to do over again, what would you do differently for PSeInt
Novara: I would take this more seriously from the beginning.

SF: Why?
Novara: My original vision about what it was supposed to be has evolved a lot. When I realized about the real purpose of such a tool, I saw many new possibilities. The language became more flexible, the GUI has been simplified, the flowchart editor became a first class citizen, some debugging-like features were added, and the editor was modernized. Also many live-coding ideas, inspired in Bret Victor’s “Inventing on Principle” and “Learnable Programming”, were implemented with others still to come. I now see many reasons to consider PSeInt a very interesting project, but my lack of vision had made me think that there was nothing more left to add.

SF: Any reason you can’t do that now?
Novara: No. I think I’ve learned a lot in this ten years and I won’t say it’s every finished again. I now expend a lot of time reading and watching talks about this topic, and I work to constantly widen my point of view and catch new ideas.

SF: Is there anything else we should know?
Novara: I’m mostly a technical person. So, handling the social part of the project is a challenge. I frequently disagree with users requests, complain about how they communicate their ideas or problems, or get frustrated about some reactions. But feedback is an invaluable resource for any small free project and I really believe that users are vital actors in this process. So thanks!

[ Download PSeInt ]

September 2015, “Staff Pick” Project of the Month – gnuplot

For our August “Staff Pick” Project of the Month, we selected gnuplot, a portable, multi-platform, command-line driven graphing utility. gnuplot’s Ethan Merritt shared his thoughts about the project’s history, purpose, and direction.

SourceForge (SF): Tell me about the gnuplot project please.
Ethan Merritt: gnuplot was conceived and born more than 30 years ago as an open source data visualization tool. Of course, that was before “open source” had any particular meaning.

The original authors, Colin Kelley and Thomas Williams, posted an initial version that must have filled a need because a user community coalesced around it immediately. A slightly more polished version 1.0, reflecting input from many people, was circulated in 1986. Please note that although the GNU project was also incubating and was announced during this same time frame, the “gnu” part of “gnuplot” is just a naming coincidence. It must have been something in the zeitgeist.

The scope of the project quickly expanded to include support for the huge profusion of output devices (pen plotters, atari/amiga game machines, character cell terminals, etc.) that we all made do with in those days. The sort of cheap and beautiful graphics displays we take for granted now had yet to be invented.

Version 2.0 was released in 1990. In those days, a major feature of gnuplot was that it would run on practically anything and could produce output for practically anything else.

The project has been hosted on SourceForge since 1999.

SF: What made you start this?
Merritt: What I’ve told you so far is ancient history. I didn’t become involved until later. gnuplot was still supporting a huge variety of output modes but had fallen a bit behind the state of the art.

I had been working with ray-tracing and 24bit color displays to generate scientific images for my work, mostly PNG or TIFF output, and it seemed a pity that I couldn’t pair those with graphs of similar quality. So I wrote and contributed a revised PNG driver to the gnuplot project. Things kind of escalated from there.

SF: Has the original vision been achieved?
Merritt: Well yeah. By about 25 years ago, I’d say. The challenge since then has been to stay relevant.

Pretty much all the physical hardware we originally supported is now gathering dust in some museum. These days the diversity of output comes from supporting integration into desktop environments (e.g. wxWidgets Qt), scientific publishing (PostScript/PDF/latex), and interactive web display (svg/javascript/HTML5).

SF: Who can benefit the most from your project?
Merritt: I am continually surprised by how often I see graphs produced by gnuplot in scientific literature, in people’s presentations at meetings, on the Web, and so on. It’s also interesting to see the support requests and questions sent to the various gnuplot forums.

For instance, I learned that gnuplot is used to make weather maps when we got a request to support placement of “wind barbs”. I learned that it is run on handheld devices to graph data collected in the field when someone contributed a driver for a micro printer attached to such a device. And a few people apparently still do have those dusty museum relics like pen plotters that they want to use.

Me, I use it mostly as a back end for computational Web services. Gnuplot can generate either client-side or server-side interactive visualizations of uploaded data.

SF: What’s the best way to get the most out of using gnuplot?
Merritt: Dig in. Look through the on-line demo collection. If you run into problems, ask questions on one of the mailing lists or user forums.

SF: Have you all found that more frequent releases helps build up your community of users?
Merritt: I think so, yes.

For 20 years or so the project would put out a new release “when needed”, which effectively meant “not very often”. I became personally involved in orchestrating releases about 10 years ago and eventually took over the job. Now I try to package up an incremental release every 6 months “whether it’s needed or not”.

SF: If you had it to do over again, what would you do differently for gnuplot?
Merritt: The graphics capability that everyone has on their desk, their phone, or for that matter on their car dashboard or toaster oven, was unknown and largely undreamed of in 1980. I can only guess that if the original gnuplot developers had looked 30 years forward in a crystal ball they would have designed in 3D display from the start. But they didn’t.

The program is architected in terms of 2D display coordinates. Even when drawing beautiful 3D surfaces with hidden line removal, it’s all calculated as a 2D projection.

SF: Any reason you can’t do that now?
Merritt: We’ve talked about it. But it would require a huge rewrite. If you really need a 3D visualization tool, as opposed to 2D display of 3D objects, I think gnuplot is not where you would start. Having said that, both the printed page and the screen you are reading this on are 2D surfaces. And gnuplot handles those just fine.

[ Download gnuplot ]

“Community Choice” Project of the Month Vote – October 2015

The vote for October 2015 Community Choice SourceForge Project of the Month is now available, and will run until September 15, 2015 12:00 UTC.


The main goal of NamelessRom is to provide quality development for Android devices, phones, and tablets alike. NamelessRom developers are available nearly 24/7 and respond to bug reports and feature requests almost instantly.
[ Download NamelessROM ]


A small program to customize your dock on OS X 10.9 Mavericks, 10.10 Yosemite, and 10.11 El Capitan. There are several dock styles included, and users can also create their own custom docks. Simply open the cDock, select options you’d like, and click Apply!
[ Download cDock ]

Roundcube Webmail

Roundcube Webmail is a browser-based, multilingual IMAP client with an application-like user interface. Roundcube provides the full functionality you’d expect from an email client, including MIME support, address book, folder manipulation, message searching, and spell check. Roundcube is written in PHP and JavaScript.
[ Download Roundcube Webmail ]


The Perl Compatible Regular Expressions (PCRE) library is a set of functions that implement regular expression pattern matching, using the same syntax and semantics as Perl 5. PCRE has its own native API, in addition to a set of POSIX compatible wrapper functions.
[ Download PCRE ]


Cyberfox is a Mozilla-based Internet browser, designed to take advantage of 64-bit architecture, but a 32-bit version is also available. The application provides a higher performance when navigating your favorite pages. Compatible With Windows 7 x64, and Windows 8/8.x OS.
[ Download Cyberfox ]

Cool Reader

CoolReader is a fast and small cross-platform XML/CSS based eBook reader for desktops and handheld devices. Supported formats: FB2, TXT, RTF, DOC, TCR, HTML, EPUB, CHM, PDB, and MOBI. Platforms: Win32, Linux, and Android. It is also ported on some eInk based devices.
[ Download Cool Reader ]

fre:ac – free audio converter

fre:ac is a free audio converter and CD ripper for various formats and encoders. It features MP3, MP4/M4A, WMA, Ogg Vorbis, FLAC, AAC, and Bonk format support. It also integrates freedb/CDDB, CDText, and ID3v2 tagging, and is available in several languages.
[ Download fre:ac – free audio converter ]

TeXstudio – A LaTeX Editor

TeXstudio is a fully featured LaTeX editor. Our goal is to make writing LaTeX documents as easy and comfortable as possible. Some of the outstanding features of TeXstudio are an integrated PDF viewer with (almost) word-level synchronization, live inline preview, advanced syntax-highlighting, live reference check, citations, latex commands, spelling, and grammar.
[ Download TeXstudio – A LaTeX Editor ]


A full featured OS for an aging PC. Aging hardware needs the right system on it to squeeze a few more years out of your current system without sacrificing performance, capability, usability, and aesthetics.
[ Download LXLE ]

August 2015, “Community Choice” Project of the Month – NAS4Free

For our August “Community Choice” Project of the Month, the community elected NAS4Free, an embedded Storage distribution for Windows, Mac, & UNIX-like systems. The NAS4Free Team shared their thoughts about the project’s history, purpose, and direction.

SourceForge (SF): Tell me about the NAS4Free project please.
NAS4Free Team: NAS4Free is designed to be a NAS (Network Attached Storage) system. Lots of systems drag in marginally connected services and try to make them more marketable to mass consumers, but instead make themselves very large or non-responsive. NAS4Free capitalizes on trying to do the few things it does in an expert manner. NAS4Free is the simplest and fastest way to create a centralized and easily accessible server for all kinds of data, with all kinds of network protocols, and across networks.

SF: What made you start this?
NAS4Free Team: NAS4Free started with FreeNAS in 2005. When the FreeNAS brand name was legally acquired by iXsystems in late 2011, it was necessary to carry on the project under another name. In March of 2012, we released NAS4Free’s first release. A good quantity of the base system was upgraded.

NAS4Free took FreeNAS from FreeBSD 7 to FreeBSD 9.x releases, allowing support for a lot of newer hardware and great advances in the ZFS file system. Also there was a strong demand from the community to keep this NAS OS going forward, as it itself has proven over so many years in the NAS world, and to end users.

SF: Has the original vision been achieved?
NAS4Free Team: Mostly yes. The goal was to continue the concepts and traditions of FreeNAS before the necessary name change. That core set of sensibilities has mostly been retained.

SF: Who can benefit the most from your project?
NAS4Free Team: The number of potential users is fairly limitless. A NAS works well for local (on the network) storage for media playback, VM hosting, and a number of other things in between.

SF: What core need does NAS4Free fulfill?
NAS4Free Team: Storage and file sharing. That’s the real goal.

SF: What’s the best way to get the most out of using NAS4Free?
NAS4Free Team: Don’t expect “extra” non-related NAS services. It isn’t a SQL server. It isn’t a Usenet downloader but installing it on a more modern machine, with some CPU power and enough RAM, will increase its performance greatly.

SF: What has your project team done to help build and nurture your community?
NAS4Free Team: The IRC channel is active and so is our forum. The Wiki sees updates fairly regularly. Previous support contributors have set up sites that help keep and retain useful questions and answers. Most of all, the project has generally stuck to the priorities and traditions that made FreeNAS so popular among its users.

SF: Have you all found that more frequent releases helps build up your community of users?
NAS4Free Team: Some users don’t care about frequent updates at all, they update now and then, and that’s OK. Others love seeing frequent updates because they’re curious about what has changed or want to keep their system fully updated, since some boxes are also connected to the Internet. It is a bit of a balancing act sometimes.

SF: What was the first big thing that happened for your project?
NAS4Free Team: The name change from FreeNAS to NAS4Free was pretty significant. All the new technology that the new version of FreeBSD pulled in made a giant jump from the old FreeNAS system. And setting up a new forum and all the webpages took some time, since most pages were setup from scratch or had to be rewritten.

SF: What helped make that happen?
NAS4Free Team: Bifurcation – a lot of developers either went to FreeNAS (with iXsystems) or quit entirely. That cut out a lot of the bureaucracy that occurs with projects that have a lot of developers. A lot of good ideas, many user driven, helped us make some great forward progress.

SF: What was the net result for that event?
NAS4Free Team: The core concepts and traditions were respected as much as possible. In the process, the total capabilities of the system jumped rapidly forward.

SF: What is the next big thing for NAS4Free?
NAS4Free Team: A number of good concepts and traditions are being adhered to and changing a lot of “big things” really isn’t something that is considered very often. However, with 32bit hardware rapidly expiring, 32bit builds will sooner or later be something that is phased out.

SF: How long do you think that will take?
NAS4Free Team: Expiring 32-bit builds could happen immediately, but we think that the 10.x versions are probably the last 32-bits versions we will make. The main 32-bit target (Netburst, Pentium4, and Celeron D) processors were replaced after 2007. We believe that 10 years is enough time to replace older machines.

SF: Do you have the resources you need to make that happen?
NAS4Free Team: Yes. It will actually save some resources and time for us not having to build 32-bit versions.

SF: If you had it to do over again, what would you do differently for NAS4Free
NAS4Free Team: If it were possible to change time, it would be nice to be able to keep the FreeNAS name. But, the name changes may have been serendipity, as it was a catalyst for change that may have been necessary at the time.

SF: Why?
NAS4Free Team: Keeping the FreeNAS name would have kept the whole community together. The past split fractured the community. Now there are plenty of anti-other zealots on both sides. But this is something we’ve tried to avoid.

SF: Any reason you can’t do that now?
NAS4Free Team: FreeNAS and NAS4Free are now represent different sides of the same coin in regard to how a NAS should work. Trying to rectify the two, and worse trying to rectify the communities that have clearly taken up sides, at this point is fairly impossible.

SF: Is there anything else we should know?
NAS4Free Team: Even with a little smaller user support base, we’ve found that sometimes the best ideas come from some of the least expected people.

[ Download NAS4Free ]

August 2015, “Staff Pick” Project of the Month – JasperReports Server

For our August “Staff Pick” Project of the Month, we selected JasperReports Server, a powerful, yet flexible, and lightweight reporting server. JasperReports Server’s product marketing manager, Ernesto Ongaro, shared his thoughts about the project’s history, purpose, and direction.

SF: Tell me about the JasperReports Server project please.
Ongaro: Jaspersoft’s projects have the ultimate goal of providing information to the right people in the right time and the right context. Although reporting started with boring paper-based products that only managers use, today everyone is using reports and visualizations in their day-to-day life.

JasperReports Server allows users to store, browse, and search visualizations and reports from a central repository; these features are useful to applications and enterprises that have hundreds of reports. JasperReports Server is centrally managed and can be used by an unlimited number of users. Role- and user-level security is integrated, allowing administrators to provide read/write access to users. This security even extends to within reports so, for example, a US executive will only see the data for their region in a global report. Reports can be scheduled and published in nine different formats to be delivered to specific people by e-mail, API, or FTP.

SF: What made you start this?
Ongaro: How JasperReports Server came about is an interesting story. Our most popular project in 2005 was a Java reporting Library called JasperReports, which won the SourceForge “Project of the Month” award exactly 10 years ago!

Java developers were embedding the library into all kinds of other Open Source and commercial projects. We noticed a trend; a lot of the developers were creating a repository to store reports, scheduling capability, user management, and APIs to access from other tools, so we thought we would build a product that encompassed these needs from our valuable community.

SF: Has the original vision been achieved?
Ongaro: Absolutely! It’s gone far beyond what the original architects ever envisioned. Originally JasperReports Server was a product that only dealt with reports; today it has expanded to support dashboards, Ad Hoc Reports, Metadata layers, REST APIs, and much more. The product has been downloaded millions of times and powers very important applications.

The way that we never envisioned the project pivoting was how people began to embed the product into their Web stacks to power the analytic needs of applications. Originally JasperReports Server was a project for traditional BI use; in other words, an internal audience of managers using reports to drive their business. Today it is a product that is used embedded into Web stacks; one such example is the Nagios spinoff, Incinga. We power the complex reports that give systems admins the intelligence they need; we never imagined casual audiences like this would use the tool.

SF: Who can benefit the most from your project?
Ongaro: In its current incarnation, the project is best suited with anyone that is building an application that could benefit from embedded reporting and analytics. Today’s applications gather a lot of data; how you present it to your end users is what ultimately can differentiate the application from others. Building this type of functionality from scratch isn’t easy or cheap; embedding JasperReports Server is a viable option to solve this complex problem. The community projects are great to start with for reports and the commercial editions of TIBCO Jaspersoft can help expand the use through more functionality and professional support.

SF: What’s the best way to get the most out of using JasperReports Server ?
Ongaro: There are so many interesting ways users have used the product it’s hard to say there is a “best way” – so one of the ways to make sure you are making the most out of JasperReports Server is to get engaged; watch some webinars, attend some local events, ask questions in the forum, or take some free or paid training.

SF: What has your project team done to help build and nurture your community?
Ongaro: Jaspersoft is one of the pioneers the single-vendor, commercial Open Source model. We have learned a lot over ten years. There are many times where had to listen to the community, the market, and changing technological changes to thrive.

The tools around the community have constantly evolved to support how our users engage; for example adopting a “voting” style forum which allows users to mark answers are read. A wiki was added in 2011 as well as a blog aggregation system. We have ran great community participation events and given awards to community members for outstanding work and contributions.

Today there are over 500,000 registered members of the community and it keeps growing!

SF: Have you all found that more frequent releases helps build up your community of users?
Ongaro: We find that a twice-per-year launch cycle works best for our users; the release cycles for their applications are most often around twice-per-year.

SF: What is the next big thing for JasperReports Server ?
Ongaro: The world keeps changing at an unprecedented speed; luckily we have great product visionaries on the teams that are driving innovation.

In 2010, when hardly anyone was talking about “big data” and “noSQL” we were already busy building connectors to Hadoop, MongoDB, and several other systems. Now they are an important part of our toolset and the market. We are committed to continue to support whatever is used in the future; weather the new data providers’ change their veracity, velocity, variety, or volume of data.

Deployment options also keep on changing. We used to maintain a simple download for the product. Today we offer Virtual Machines, Installers, WAR files, and Amazon AMIs. Also, in 2012 we were the first BI vendor to offer a PaaS deployment option. We also started offering pay-by-the-hour options on Amazon’s Marketplace. A deploy anywhere architecture is something we will keep on investing engineering cycles in; single platforms are not an option today.

There are also some neat cloud collaboration options coming down the pipeline as well as innovative new collaborative report feature we are excited about.

SF: If you had it to do over again, what would you do differently for JasperReports Server?
Ongaro: In 2005 it wasn’t obvious that Java was going to be as popular as it is today. The choices we made ten years ago were pretty good; today Java and Spring are kings for the back end. We’ve re-architected the product to be theme-able with CSS and modern Javascript frameworks drive events, so we continue to get a lot of mileage out of the architecture. Luckily there isn’t a single big product choice we made that we could regret; it’s been quite a ride!

[ Download JasperReports Server ]