TL; DR: Bluefish, a robust code editor built for programmers and web developers, has been helping users boost efficiencies since 1997. The open-source software supports multiple languages, allowing users to speed development — even when working with large codebases. Over the years, contributors have polished Bluefish to near perfection and now focus on making small improvements based on user feedback.
But what about those who must cast their nets over multiple programming and markup languages? According to Olivier Sessink, Bluefish is the perfect catch. The powerful open-source editor, designed for developers, features a range of functionality rarely found on the market.
“Bluefish is more of a generic editor in that it can do everything — and do it at scale,” Olivier told us. “While a PHP-specific editor would be better for a PHP-only project, Bluefish will allow users to navigate through large codebases with all kinds of search and replace functions to solve problems quickly.”
The free software has been making a splash since Olivier developed and released it in 1997. He told us Bluefish remains a best-in-class option for working on larger and older websites, especially those created before the dawn of WordPress.
“These days, most websites aren’t built with multiple pages — just code and a database,” he said. “But there are still quite a few sites built long ago with tons of information on hundreds of pages.”
When working with these kinds of sites, Bluefish is lightning-fast. Olivier told us he’s successfully confirmed the editor’s ability to apply regular expressions on thousands of files at the same time.
“There is almost no other way to load hundreds of pages and use search and replace to alter advertising code or replace file sheets, for example,” he said. “For this reason, developers managing multiple projects with hundreds of files and various codebases tend to love Bluefish.”
Over the years, contributors have evolved the product via new features, bug fixes, and GUI improvements. Moving forward, only small tweaks are needed to keep users happy and the software performing at its best.
Helping Users Manipulate Code for Over Two Decades
When Olivier started Bluefish almost a quarter-century ago, he said Sun Solaris was the professional hosting platform of choice, with Linux and the Apache web server trailing closely behind.
“Because of this, there were a lot of developers who had to use different platforms — and I was one of them,” he said. “We had a Linux box or a Solaris box as a server, and then we had Windows, or some people had a Mac, with development software on it.”
Since virtualization was not yet a viable solution, Olivier said it was common for developers to need two computers — one acting as a server and one providing development software. To remedy this problem, developers would need a multiplatform code editing application that could run on most desktop operating systems.
At the same time Olivier was working to build that code editor, he met Chris Mazuc, a developer working on a similar solution, in a tech forum. Olivier’s editor was robust, but lacked specific HTML features, while the product Chris developed featured HTML support but a weak editor.
“We decided to combine our development efforts, and before we knew it, a few more contributors joined on, most of whom were either self-employed for working for small web development companies,” Olivier said. “That got us quite far in terms of momentum.”
Today, Bluefish runs on a variety of operating systems, including Linux, FreeBSD, macOS, Windows, OpenBSD, and Solaris, and supports multiple languages.
In addition to helping developers manage numerous projects with hundreds of files and various codebases, the open-source tool is great for taking control of your code.
“Some developers who want to work with plain HTML really enjoy Bluefish because there aren’t too many obstacles,” he said. “Products from Adobe, for example, tend to get in my way where Bluefish doesn’t (in my opinion). Its core is just a plain text editor that allows you to enter anything you want, but then it has the features you need to streamline your work.”
To that end, the GUI editor is designed to provide a fast, lightweight, and frustration-free experience, with a helpful snippets sidebar for custom dialog and shortcut keys, auto-recovery of changes in modified documents, and even a programming-language-aware spellchecker.
Leveraging the Power of Open-Source to Speed Development
The fact that programmers and designers have come together through the years to help Bluefish grow is a testament to the power of open-source and the support of its vibrant communities.
“We didn’t want to compete with each other on our development platform — we wanted to compete with each other to build the best websites,” Olivier said. “In the end, we were able to help each other speed up development.”
At its peak, the Bluefish development community had over 40 contributors. Olivier has remained the core editor throughout, but many features were developed solely by the open-source community.
Today, Bluefish boasts a good list of features — from quick start and load times and a multiple-document interface to auto-recovery, full-screen editing, and customizable programming language support. The most recent major release came in the form of Bluefish 2.2, which introduced a completely redesigned search and replace function with main-window integration, the ability to toggle comments, and autocompletion for user-defined functions, among many other features.
The update also added support for new languages, including Google Go, Vala, and Ada, and an overhauled syntax scanner that made the software faster for developers working on large files. In recent years, Olivier said Bluefish’s open-source community has focused on more maintenance, bug fixes, and minor feature releases — the latest being Bluefish 2.2.11.
“Nowadays, Bluefish development isn’t as quick as it used to be because the core is stable, rock solid, and fast,” he said. “It’s very polished at this point.”
Moving Forward: Continuing to Make Small Tweaks Via Users Requests
“It’s easy to customize Bluefish with external tools and commands,” he said. “I helped by sending a single line for the configuration, and now ESLint code analysis is available from the main menu. Most of the latest developments originated in the same way — through user requests.”
For the most part, the Bluefish project is a well-oiled machine, and, because it’s open-source, its developers aren’t beholden to any special interests.
“We’re just slowly, slowly adding new features on requests — no major changes needed,” Olivier said. “I think most of the developers are very happy with the result. And in the spirit of open-source, no one feels the pressure to do something big.”