A short interview with Mark Gerstein and Koon-Kiu Yan from Yale University, two of the authors of a recent paper comparing the functional topology of two iconic players in the biotechnology and IT revolutions: Escherichia coli and the Linux kernel.
Your research found that, unlike the regulatory network, often-used functions in the Linux kernel tend to be revised more often than seldom-used ones. Do you think this responds to a relative dearth of programming resources against the size of the codebase, or it’s a deliberate development choice?
(Mark Gerstein) The former. I don’t think it’s deliberate.
(Koon-Kiu Yan) I agree that we are forced to do that. Like the paper mentions, it’s the price software engineers pay.
Do you expect subsets of regulatory networks or function calls subject to different environmental pressures to show different local topologies?
(Mark Gerstein) Yes, this would seem reasonable.
(Koon-Kiu Yan) I expect so. The local topology of a module is closely related to its function. Also, in biological systems, modules undergoing tight evolution re-wire at a slower rate. In principle, it’s the same for a call graph. It’s definitely a good direction to study in what extent the two systems differ in terms of the topologies of individual modules.
Do you think that the fact that the Linux kernel is developed as Open Source is relevant to your results?
(Mark Gerstein) Very much so. We wouldn’t be able to do the analysis without having all versions of the code available.
Would the call graph of a system developed in a different way be structurally different?
(Mark Gerstein) Maybe. The “organic” nature of an open-source project is also probably reflected to some degree in the design of Linux.
(Koon-Kiu Yan) It’s definitely very interesting to compare the call graph of an open source software (Linux) versus one which developed by a more restricted team (Windows). It’s tempting to speculate that systems like Windows are even more structurally well organized, and systems like Linux, because of the collaboration of many people, are a bit “stochastic” and thus more similar to biological systems. However, it’s really hard to tell, since the Linux team is actually well coordinated. The fact that they do not get paid doesn’t mean that they are doing stuff “randomly”. But definitely, both types of software systems are incredibly different from biological systems and therefore the major results of our work are not really a consequence of open source.