In a previous role I was forced, by necessity, to use an open source IDE to develop Microsoft C# code. Although the organisation I worked for had a site-wide licence for all of Microsoft’s developments tools, the disks and license keys were held in the locked drawer of one particular developer. Not a manager but a developer. It would not suffice to simply ask for a disk and effect its possession but instead one had to go through a peculiar, exacting and time-consuming conversational pantomime that was little short of plopping on the Hogwarts’ sorting hat and hoping for the best. On my first day, unbeknownst to me, there was a small sweepstake within the office as to the outcome of my attempts to gain ingress to the tools drawer. My efforts were rebuffed with intransigence.
Quite how a “system” can evolve or degenerate into such a state of affairs was prior history. Perhaps it was weak management, or a path-of-least-resistance philosophy, or maybe even the fact that anyone with the smallest amount of gumption would soon leave for pastures new (I didn’t stay long). Whatever the reason the net result was the same: one individual was responsible for an entire department living in a development environment that hadn’t moved on in 10 years. But mental ossification didn’t stop with keeping a lid on access to the right tools, this employee’s over-bearing and argumentative approach to all aspects of software development also put the kibosh on processes that other enterprises considered standard practice, such as coded tests and automated builds.
Rather than kick against the pricks I body-swerved the issue by locating an open source alternative to Visual Studio, SharpDevelop. All the organisation’s machines had .NET runtimes installed on them and developers were free to install whatever tools were required for their work, if they could get their hands on them.
The small amount of research required to locate SharpDevelop was like peering into how deep the open source rabbit hole goes. As well as the obligatory unit-test suite, NUnit, there was Mono, which incited exploration and appreciation of the .NET framework for what it was rather than what its progenitor represented.
Is SharpDevelop as comprehensive and as all-singing as Visual Studio? No. But that question misses the real value of open source alternatives; the ecosystem surrounding such a project is its strength. The opportunity, whether exercised or not, to mould the environment in which one finds oneself should be infinitely more appealing than accepting that which is deigned from on high, particularly for such a cerebral activity as software development.
“You are all individuals!” – “I’m not!”
I was once caught in the Microsoft eco-system – if Redmond didn’t talk about it, it wasn’t worth hearing of. Circumstance forced investigation of alternatives and whilst none were better, most gave the sensation that I was stepping outside the matrix and acting of my own volition.