Bearsampp: portable development stack
What if there would be a completely free and open source, fully portable WAMP development stack, created with Joomla developers in mind? Guess what: there is! Two Joomlers are working on it. Troy Hall decided to create (or rather, fork) it, Jacob Waisner joined him in the project, and Bearsampp is now available for everyone to use. Find out what it is, who it is for and what you can do with it!
Nice to meet you both! Could you tell us a little bit about yourself?
Troy Hall: I’m a disabled 61 years old lover of Joomla. I first started using Joomla 2 weeks before the fork from Mambo. I did some early work with Virtuemart and then joined the Joomla Bug Squad in 2010.
I work with Alison Meeks on her sites doing the “tweaks” that make them special (although I’m certainly not a designer).
I had to step back from JBS work on a daily basis last year due to health issues, but I’m getting back at it now.
I love living a very simple life in the country. I live in McCord, Oklahoma.
I spend most of my time either gaming in WOW or working on something related to Joomla, be it one of my websites, creating a Joomla tutorial or working on Bearsampp so other J! devs have a good *ampp stack to work with.
Jacob Waisner: I am a 32 year old IT tech. I originally got involved in Joomla back in the 1.5 days. I supported testing Joomla on the Bug Squad. I took a break for many years and came back in 2020. I am currently the Team leader for the JBS.
What is Bearsampp? What is it for?
Troy: Bearsampp is a “portable wamp development stack”. But more than that it brings tons of extra functions and software into one united system. The list of features is probably too many to list here, but to name a few: we support many development programs, like Ruby, Python, Perl, PHP, Nodejs, etc. This allows developers the freedom to use any major programming language with our web server. We also support mysql, mariadb, postgresql databases, other features like SSL certificates, local host names, the list goes on.
Probably the most important feature that is relevant to Joomla is our multiple version support. We support most versions of PHP since 7.2. We do the same thing for each of our modules. So, if for example JBS has an issue that is specific to PHP 8.0.22 and MySQL 8.0.16, they can select those versions, the program switches them to the active versions and they can do their tests: takes just seconds.
Furthermore, any version that we don't currently offer can most likely be gotten by a simple feature request. The only exception to that is PHP 5, which we no longer offer support for. We do have an older version that does support it, but nothing we are currently creating does so.
Our goal is to provide any reasonable tool a developer might need to create and test their web project. We are the only currently developed application that provides all of these features in one pre-installed package and yet doesn't require a Windows installation.
Our program is completely portable, so you could take the folder your program currently lives in, drop that onto a thumb drive, fly to jab, plug the thumb drive into your laptop and be at the exact spot you were on your desktop when you left. When you get home you simply reverse the process. I think this is a major advantage over programs like WAMP or XAMPP that require installation.
While Joomla developers are our primary focus, it is also perfectly usable by WordPress devs and is currently being used by many XOOP devs.
Oh, and we even include a mail server locally for testing if functions like Joomla's mailer is working or not.
That is an impressive list! Can anyone use it?
Troy: Bearsampp is for any developer that wants an integrated system. At its heart is Apache and PHP. With us offering 3 versions of software, from the most simplistic that only offers the bare essentials to creating a website, to the most advanced that has every nut and bolt we can think of that would be useful, there is some version for everyone.
We offer Lite, Basic and Full with each offering more pre-activated functions, all free and open source.
Why did you decide to create Bearsampp?
Troy: I had used a program called “Neard” for many years. It was wonderful, but the developer was very slow to update and fix things and stopped development altogether in 2020. I tried offering updates to his system but that resulted in me getting banned from anything he creates. So after I saw several people asking for updates and looking around to see if there was anything that did even half of what it does and finding none, I decided to “take the bull by the horns” and fix it.
I also decided if I was going to spend all this time and energy trying to fix and understand a completely undocumented development system, I should take the opportunity to just totally fork and break it off into my own thing.
The one thing I didn’t want to ever happen again was for it to be an abandoned project so I set it up as an organization. That way anyone could be an admin/developer if they asked to be such and they would automatically be able to “take over” when/if I’m gone. My health is not great so this is something I have to take a realistic view of.
I spent about a year trying to understand how the old software functioned and then when my health acted up I had to step away. I’ve gotten a bit better very recently so thought I’d try again and this time I’m having reasonable success.
Jacob: For myself, I joined Troy in his venture. The fact that this stack has everything I was looking for to help with Joomla development really drew me in. I used to use the “Neard” base and liked how it worked. When Troy mentioned he had continued development and created a whole new stack, I couldn't pass up the chance to test it and eventually help with maintaining it.
What is the ambition of Bearsampp?
Troy: The goal of Bearsampp is to bring a quality *ampp stack that is simple to use and 100% portable. With Bearsampp I could put it on an USB stick, fly to JAB, plug it into my laptop, or anyone else's, and be right where I was before I left home. Nothing to change or “tweak”.
How can we, the Joomlacommunity, benefit from this?
Troy: With its built-in ability to have many versions of the same software and easily change between versions it offers flexibility to Joomla devs that most other stacks don’t offer.
As a side benefit, when a new version of for example PHP comes out, you don’t need a new program. You simply download the new “module” and drop it into place. This is true of all 32 modules/programs we support.
This means that even if you're living in an outdated world and are using Joomla 1.0 and PHP 5.6 our system will work.
But yet we’re not holding ourselves back. It’s built completely on x64 codebase and in our newest release we’ve stopped supporting older code like PHP 5 & Mongodb.
Jacob coming on board helps push the project further and aids in making sure it's a good fit for Joomla.
In what other ways does it differ from other development stacks?
Troy: The 2 major competitors are XAMPP and WAMP. XAMPP is a free, easy to install Apache distribution containing MariaDB, PHP and Perl. It doesn’t support composer or nodejs out of the box. Nor is there mysql support built in and neither is it portable. It is very limited in what versions of PHP it supports and doesn’t support multiple databases or database versions.
WAMP is the closest thing to our program. In fact we both use the same menu system. But where we diverge greatly is in the addons that we natively include that are either not available or difficult to install in WAMP.
This all sounds really good. What are the challenges you’re facing?
The one area we suffer in is lack of developers. It's just Jacob, myself and an XOOP developer named Alain. So some of the changes to modernize things that we’d like to make are either difficult for us or are going to take a long time to achieve.
I’ve built the project around the FOSS concept of an “organization” so that when the day comes that I can no longer be active, the other admins, who are “co-owners”, in GitHub verbiage, can seamlessly take over. I don’t ever want the project to get stale and die like Neard that it was originally forked from.
Bearsampp website: https://bearsampp.com/
See all the functions and options: https://github.com/Bearsampp/Bearsampp#readme