Multi-platform Programming for Open-Source Research-Oriented Software

Business Models and Strategies for Open Source Projects
IGI Global

Programming is becoming a central activity in research, far beyond the realm of computer science. Mainstream programming languages are flourishing around well-identifiable communities and well-established programming platforms. Along this line, in order to maximize the reach of research-oriented software, it is of paramount importance to write not only open-source code but also multi-platform code—i.e., supporting as many platforms (and languages) as possible. Of course, maintaining multiple codebases is a no-go, and this is why researchers often focus on particular platforms—hence limiting their potential audience. Accordingly, in this chapter we present approaches and best practices for multi-platform programming, where the same codebase is made available on multiple platforms, minimizing the rewriting of code while maximizing portability. In particular, we discuss how multi-platform programming affects all phases of software engineering, ranging from requirements analysis to deployment.