X

In the trenches with...Brad Nicholes of Novell

The Open Road gleans insight on development and the transformation of a proprietary company into an open source-friendly company with Brad Nicholes, a senior developer at Novell.

Matt Asay Contributing Writer
Matt Asay is a veteran technology columnist who has written for CNET, ReadWrite, and other tech media. Asay has also held a variety of executive roles with leading mobile and big data software companies.
Matt Asay
8 min read

Back when I was asked by Chris Stone (then Novell's vice chairman) to join the Linux Business Office at Novell, I honestly could count the number of employees on one hand that had any understanding and experience of open source. Brad Nicholes was one of them. Brad is an understated guy - he's not the sort of person to volunteer to write for this In the Trenches series. No, I had to go to him and solicit his involvement. I suspect even then he preferred to write code, but he agreed to do it, anyway.

I have a tremendous amount of respect for Brad. He was the voice of experience on Novell's Open Source Review Board, having earned the distinction of "member" with the Apache Software Foundation. He provided the best insight as to how Novell's forays into open source would be interpreted. Now, of course, the company has become very active in the open source world, but Brad continues to provide expert guidance with the OSRB and elsewhere within Novell.

If you get the chance to meet Brad, you'll like him as I do. He's a great person, and a great asset to Novell. Some of the insight below is among the best we've had on The Open Road.

Name, company, title, and what you actually do

Brad Nicholes, Senior Software Engineer, Novell. I'm currently working on the Data Center Automation product. In reality, I do a lot of different things. I have spent a lot of time over the last 6 years porting and maintaining the Apache HTTP server on the NetWare platform and I am a member of the Apache Software Foundation. I have started and managed a few smaller Open Source projects and contributed to others. I have given presentations at various conferences about Apache and Open Source in general. I am also a member of Novell's Open Source Review Board which is primarily responsible for reviewing Open Source usage and licensing issues within Novell. I have found that by participating in all of these activities, my job ranges from ?in the trenches? software design and coding to project administration to having to understand and consult with management about corporate policy and procedures as well as how legal matters can affect software development (especially in the Open Source world).

Do you work remotely or in an office with co-workers?

I mostly work from Novell's offices in Provo, Utah, however I am free to work at home or the office whenever I feel it is appropriate. I find that having the freedom to work wherever I want, makes things easier. Since I am part of a product team, most of the time I find it more convenient to work at the office.

If you've had a similar role in a proprietary software company, how does your current role compare? Similarities? Differences?

Actually, my transformation from proprietary to open source all happened at Novell. It all started back around 2000 when a colleague of mine who had mostly done Windows programming, decided that downloading and trying to port the Apache 1.3 source code to NetWare would be a good way to learn NLM programming. Why he picked Apache, I'm not sure, but he did and it worked. Just before he left Novell, I started writing Apache modules for the NetWare platform and later took over the maintenance of Apache 1.3 on NetWare.

The Apache Portable Runtime (APR) project was really moving forward at that time as well as the development of Apache 2.0. So I got involved with the Apache Web Server project by maintaining Apache 1.3 and porting Apache 2.0 and APR to the NetWare platform. The funny thing about it was that Novell, at the time, was shipping another HTTP server with NetWare 5.x and was using a make-shift web server as the administration portal to manage the main HTTP server. We decided that it would be a cool idea to replace the make-shift web server with Apache 1.3 for NetWare.

But we thought that we should probably hide it so that customers wouldn't get confused by the fact that there were actually two fully functional web servers on the box. Well it wasn't very long after NetWare 6.0 shipped that customers discovered the Apache Web Server on the NetWare box and started using it directly to run their production web sites. The popularity of Apache for NetWare grew quickly and by NetWare 6.5, Apache was THE web server on the NetWare platform.

During the development of Apache 2.0, I was porting all of the source code to the NetWare platform. Since I was pushing so many NetWare patches to the mailing list, within a few months, the Apache committers invited me to become an APR and later an HTTP project committer. About a year after that, I was invited to become a member of the Apache Software Foundation.

This is actually something that has really meant a lot to me. I love working on the HTTP server and being involved with the Apache projects. And to be able to rub shoulders with the people that developed one of the premier Open Source projects, was a great honor. In fact I can't imagine a better way to be indoctrinated into the open source world than to be tutored by some of the best open source developers in the world.

Learning the open source development model and living in a "Release Early, Release Often" world, has really made a difference in how I approach software development. It has made me look at software development as more of an art form rather than a "start to finish" project.

A lot of the proprietary companies that I have worked for, considered software design and development as having to design for every possible contingency and anticipate and code for every possible outcome before you really know what that means. This often led to a software product that was over-budget, over-engineered, usually released months behind schedule, and many times not meeting the customer's needs. With the open source development model, I can take an idea, try it out, mold it, rework it and turn it into something that suits those that will ultimately depend on it.

The reason why is because a lot of the guesswork is taken out of the process. People get to see and play with your idea from the very beginning and then tell you what you are doing wrong as well as what you are doing right. In the end, everybody gets what they want and if it isn't exactly what they want, they are free to jump in and make it so. That is why Open Source is so cool.

How familiar were you with open source before you joined your current company?

Like I said previously, my transformation all happened at Novell, so before I got involved with the Apache project, I really didn't know what open source was all about. However I had done a lot of shareware so moving from low-cost to no-cost software and dealing with customer feedback, wasn't really a new concept. But collaborating on a single project with engineers from all over the world was new and something that I had to get used to.

Especially dealing with mailing lists and all of the various personalities that you find out there. Learning how to craft your email postings in such a way that would promote the greatest responses and not get you flamed, was sometimes a challenge. Then understanding that some people are just going to flame you anyway so get used to it, was another new concept. But for the most part, people that monitor the mailing lists are there to help because they have the same interest as you and that is moving the project forward.

Why did you join an open source vendor?

I didn't really join Novell because they were an open source vendor. [Matt's note: In fact, Brad has helped to make Novell an open source vendor.] In fact when I joined Novell, they were still very much in the proprietary world and open source was not really talked about. But with the introduction of the Apache web server on the NetWare platform as well as some other projects like Perl, PHP, Tomcat, OpenSSH, it became obvious that open source was significant and couldn't be ignored.

At that point, things just started to change around Novell. The SuSE acquisition happened, development tools and processes changed and the environment and culture changed with it. There are still some people and some processes that revolve around the proprietary software world, but then that would only make sense, because Novell in still a "for profit" corporation.

How long did it take you to adjust to an open source operational mode?

I'm not sure that I will ever be completely adjusted to an open source operational mode. I'm not sure that I want to be. Moving from a completely proprietary operational mode to understanding how to work and live in an open source world, didn't really take that long. But I see some open source developers out there that seem to regard open source like a religion. It appears to consume every part of their lives and they appear to be everywhere and have an opinion about everything.

There are times when I feel like I am not doing enough when it comes to calling myself a member of the Apache Software Foundation. I should be more involved with the foundation itself and express my opinions more on all of the various mailing lists. But then that would require me to have to spend a lot more time reading all of the thousands of emails every week and having to formulate and articulate an opinion on all of them. Life is too short to spend it all in front of a computer. But that is one of the beauties of open source, it allows me to spend as much or as little time as I have available, do what I can, put forth my best effort and leave the rest for somebody else.

What do you think open source companies could learn from proprietary vendors?

I'm not really sure how to answer this question, mainly because I never really made the jump from a completely proprietary company to an open source company. It all happened gradually for me. The easier question is what can proprietary companies learn from open source? I guess if I were to pick something, it would be the value of good documentation. As a software engineer myself, I am just as guilty as the next engineer of producing so-called "self documenting code" and then leaving it up to the poor consumer to figure out what is really going on. But good documentation really goes a long way to promoting open source software. If people understand how to use the product, they are more likely to actually use it. Wow, what a concept. ;)

I think you can see why I enjoyed working with Brad so much. He's a straight shooter, and very down-to-earth about his accomplishments. Brad epitomizes the best that Novell has to offer.