Neuroimaging, Software, and Communication
eBook - ePub

Neuroimaging, Software, and Communication

The Social Code of Source Code

Edison Bicudo

Compartir libro
  1. English
  2. ePUB (apto para móviles)
  3. Disponible en iOS y Android
eBook - ePub

Neuroimaging, Software, and Communication

The Social Code of Source Code

Edison Bicudo

Detalles del libro
Vista previa del libro
Índice
Citas

Información del libro

This book analyses the social contexts in which programmers design neuroimaging software used in brain studies. It shows that in the same way people engage in everyday communication, programmers are involved in a series of communicative processes to realize the negotiations and discussions generated by software development. In this way, highly technical activities such as computer code writing are also underpinned by values, preferences, and power relations.
At the same time, the book sheds new light on scientists' increasing dependence on software. On the one hand, many scientific tasks can no longer be performed without the help of computational technologies. On the other hand, most scientists have only superficial computing knowledge. As a result, inequalities emerge whereby some scientists take the most strategic methodological decisions whereas other scientists can only rely on the technical help provided by user-friendly computer applications.

Preguntas frecuentes

¿Cómo cancelo mi suscripción?
Simplemente, dirígete a la sección ajustes de la cuenta y haz clic en «Cancelar suscripción». Así de sencillo. Después de cancelar tu suscripción, esta permanecerá activa el tiempo restante que hayas pagado. Obtén más información aquí.
¿Cómo descargo los libros?
Por el momento, todos nuestros libros ePub adaptables a dispositivos móviles se pueden descargar a través de la aplicación. La mayor parte de nuestros PDF también se puede descargar y ya estamos trabajando para que el resto también sea descargable. Obtén más información aquí.
¿En qué se diferencian los planes de precios?
Ambos planes te permiten acceder por completo a la biblioteca y a todas las funciones de Perlego. Las únicas diferencias son el precio y el período de suscripción: con el plan anual ahorrarás en torno a un 30 % en comparación con 12 meses de un plan mensual.
¿Qué es Perlego?
Somos un servicio de suscripción de libros de texto en línea que te permite acceder a toda una biblioteca en línea por menos de lo que cuesta un libro al mes. Con más de un millón de libros sobre más de 1000 categorías, ¡tenemos todo lo que necesitas! Obtén más información aquí.
¿Perlego ofrece la función de texto a voz?
Busca el símbolo de lectura en voz alta en tu próximo libro para ver si puedes escucharlo. La herramienta de lectura en voz alta lee el texto en voz alta por ti, resaltando el texto a medida que se lee. Puedes pausarla, acelerarla y ralentizarla. Obtén más información aquí.
¿Es Neuroimaging, Software, and Communication un PDF/ePUB en línea?
Sí, puedes acceder a Neuroimaging, Software, and Communication de Edison Bicudo en formato PDF o ePUB, así como a otros libros populares de Biological Sciences y Neuroscience. Tenemos más de un millón de libros disponibles en nuestro catálogo para que explores.

Información

Año
2019
ISBN
9789811370601
2ndPartCodifying Society
© The Author(s) 2019
Edison BicudoNeuroimaging, Software, and Communicationhttps://doi.org/10.1007/978-981-13-7060-1_4
Begin Abstract

chapterFour ( Owning Code: Institutional Aspects of Software Development ) {

Edison Bicudo1, 2
(1)
School of Global Studies, University of Sussex, Brighton, UK
(2)
Department of Sociology, University of Sao Paulo, Sao Paulo, Brazil
Edison Bicudo
End Abstract
% social code
% source code
1 function out = spm_run_coreg_estwrite_MIBCA(varargin)
2 % SPM job execution function
3 % takes a harvested job data structure and call SPM functions to perform
4 % computations on the data.
5 % Input:
6 % job - harvested job data structure (see matlabbatch help)
7 % Output:
8 % out - computation results, usually a struct variable.
9 %___________________________________________________________________
10 %Copyright (C) 2008 Wellcome Trust Centre for Neuroimaging
11
12 % $Id: spm_run_coreg_estwrite.m 4380 2011-07-05 11:27:12Z volkmar $
13
14 job = varargin{1];
15 if isempty(job.other{1])
16 job.other = {];
17 end
18
19 x = spm_coreg_MIBCA(char(job.ref), char(job.source),job.eoptions);
20
21 M = spm_matrix(x);
22 PO = [job.source(:); job.other(:)];
23 MM = zeros(4,4,numel(PO));
24 for j=1:numel(PO),
25 MM(:,:,j) = spm_get_space(PO{j});
26 end
27 for j=1:numel(PO),
28 spm_get_space(PO{j], M\MM(:,:,j));
29 end
30
31 P = char(job.ref{:],job.source{:],job.other{:]);
32 flags.mask = job.roptions.mask;
33 flags.mean = 0;
34 flags.interp = job.roptions.interp;
35 flags.which = 1;
36 flags.wrap = job.roptions.wrap;
37 flags.prefix = job.roptions.prefix;
38
39 spm_reslice(P,flags);
40 out.cfiles = PO;
41 out.M = M;
42 out.rfiles = cell(size(out.cfiles));
43 for i=1:numel(out.cfiles),
44 [pth,nam,ext,num] = spm_fileparts(out.cfiles{i]);
45 out.rfiles{i} = fullfile(pth,[job.roptions.prefix, nam, ext, num]);
46 end;
47 return;
The piece of computer code presented above belongs to a software package called MIBCA (for Multimodal Imaging Brain Connectivity Analysis).1 Its main producers are Dr. André Ribeiro and Dr. Luís Lacerda, who started the project as students of the Institute of Biophysics and Biomedical Engineering, University of Lisbon, Portugal. I would like to draw attention to seven lines in this code written in the MATLAB language: 12, 19, 21, 25, 28, 39, and 44. The reader will note that in all those lines, André and Luís used some functions whose names begin with “spm_”. SPM is the world’s most widely used neuroimaging software package. To be precise, MIBCA is not truly a software package; it is an application that allows researchers to combine several functionalities present in other open source packages such as FSL, FreeSurfer, and SPM. So in the aforementioned code lines, the authors wrote code to use some functionalities available in the SPM package. In the MatLab language, comments are introduced by the percentage symbol (%). In lines 3 and 4, it is explained that MIBCA takes some neuroimaging data and process them by recurring to functions available in SPM. Interestingly, in line 10 another comment acknowledges the authorship of the Wellcome Trust Centre for Neuroimaging, the institution responsible for the SPM project.
Two aspects of software development need to be carefully pointed to. On the one hand, computer code, even if it is published as open source code, never ceases to be somehow attached to some people or institutions. On the other hand, issues of ownership and code control are always present, as illustrated by the history of MIBCA [ hist, mibca ].
  • [ hist, mibca ]
  • Dr. Luís Lacerda, formed a biomedical engineer, did the Master’s Degree at the Institute of Biophysics and Biomedical Engineering, Univ of Lisbon, Portugal, under the supervision of Professor Hugo Ferreira. He developed a toolbox for the analysis of neuroimaging data. He then met André Ribeiro, another Master’s Degree student who was being supervised by professor Hugo and who developed another neuroimaging toolbox. The students had the idea of joining the two applications, an initiative that was promptly supported by their supervisor. Satisfied with the outcome, they decided to do some further work on the application, including the use of functionalities present in some popular neuroimaging packages. Luís worked in close collaboration with André, also relying on some occasional coding inputs from professor Hugo Ferreira. At a certain point, Luís left the Institute and went to London for a PhD program. Shortly after, André also went to London for the same reason. The two students decided to carry on working on MIBCA, having frequent meetings and continuing to have some occasional support from their former supervisor. When both students completed their PhDs and obtained their first academic positions, the work had to be stopped. Nowadays, MIBCA is still attached to the Portuguese university. In this way, professor Hugo Ferreira continues to make the code available to his new PhD students, so the application can be further improved. In his interview, Luís recalled the original insights behind the application’s development. He said that some original things had to be implemented, but functionalities available in other packages could also be reused.
  • “[…] in the beginning, we didn’t want to create an original thing but we wanted to use what had been done. But… We didn’t want to replace everything, but at least some things that, according to our view, we could adjust better to our needs, and then we could have more control. So it was more a question of learning what was behind and also to have better control over the inputs we had, the outputs, and how all of that happened in the whole code.
  • That is, today, if I have a look at the code of MIBCA, I’ll find in there its code (the original code of MIBCA) and code… and other code.
  • Yes. Yes.
  • And is it possible to say what is the percentage of original code and…
  • […] Much of MIBCA’s code is for liaising the different toolboxes and also to manage the platform, but all the visualization part and statistical tests, which are very important in the toolbox, is all original code. And this part is still quite big […] I’m not sure, but at least 50%.”
Like MIBCA, there are many software packages that are left behind when their initial developers move to a new institution. It is not rare that the institution takes possession of the coding work so other students and researchers add new functionalities, turning the personal project into an institutional one. In this chapterFour, it is precisely this metamorphosis through which personal code becomes institutional code, as well as its political and geographical implications, that will be stressed. For so doing, six phenomena will be analysed: commercial and non-commercial aspects of software development; personal and institutional contents of computer code; the role played by universities; the consequences of institutional code ownership; the political and geographical hierarchies of software development; and the example of the SPM package.

section11 ( Institutional Barriers, Code Shields ) {

The BrainVoyager neuroimaging software package constitutes an interesting case because, in a field dominated by open source, it has been a successful project managed by a company [ hist, bvgr ].
  • [ hist, bvgr ]
  • The BrainVoyager project began through the initiative of a young and most talented programmer, Rainer Goebel. In the mid-1990s, working as a post-doc researcher of the Max Plank Institute for Brain Research, Germany, he felt the need to develop an analysis software that could be, at the same time, efficient, quick, user-friendly, and visually attractive. He combined the development of this new tool with the conduct of his neuroimaging studies. In 1996 Rainer had the first version ready for release. When he presented his product at the Human Brain Mapping Conference, in the United States, much surprise and excitement followed, because of the application’s beauty and speediness. Recognizing BrainVoyager’s commercial potentiality, Siemens approached Rainer and offered a large sum to acquire the right the explore the software commercially. The Max Plank Institute did not allow Rainer to sell the software but supported him to launch his own commercial initiative. In 1998 the Brain Innovation company was founded. Thanks to his academic success, Rainer was subsequently invited to join the Maastricht University. In 2000, he, his wife, and the company moved to the Netherlands where he continues to be a professor, in addition to being the CEO and main developer of Brain Innovation.
  • So I think that BrainVoyager is the most popular software produced by a company (in the world). Why do you think that the project has been so successful?
  • I think that the reason is because it makes a difficult task, namely to, you know, analyse complex data from brain scanners, in a quite, you know, easy, transparent, non-black box way […] You can select menu items. And it has a lot of tools, but they’re all integrated in the same spirit, in the same interface, right? So they [users] get good speed (quite fast) without having to learn multiple tools […].”
The history of BrainVoyager [ hist, bvgr ] helps see the importance of code ownership. Initially, the code belongs to its writer, in this case Rainer Goebel. However, the programmer works in an institution, which may have some control of what happens with code. In the case of BrainVoyger, the Max Plank Institute prevented Siemens from acquiring the rights to explore the software. Because code ownership can generate financial rewards, it can underpin the creation of new companies, which happened with Brain Innovation.
  • “So I expose indeed the code but there’s a shield. That means, it’s documented, it’s open source, so to say, but it’s precisely determined by me. So you cannot kind of read the real C++ code. It is C++ but it’s kind of… We call it an API. So any commercial software, like Apple or Google, they do the same thing. They expose their code via a so-called API, application programming interface, which documents what you can and what you cannot do, right? So I control what people can do. But I do it very liberal.”
  • Professor Rainer Goebel (Brain Innovation, Netherlands)
Companies generally need to keep some secrets and pursue financial goals quite adamantly, so they fail to follow the collaborative schemes reviewed in chapterTwo. To be sure, a company like Brain Innovation cannot simply ignore some fundamental features of the scientific domain. For example, some of Brain Innovation’s programmers are PhD students who want their coding productions to be open source. This is why part of the package’s source code is made available on the internet. Professor Goebel claims to appreciate this model, “because it helps to make the stuff we do more transparent to the outside.” At the same time, he is preparing a book where many of the algorithms used in the BrainVoyager package will be disclosed. However, Brain Innovation cannot help assuming, on strategic points, the protective stance typical of companies. In this way, Rainer’s book will not reveal the most distinctive characteristics of his package. For instance, he will not disclose the coding strategies that make BrainVoyager have a processing speed superior to most neuroimaging packages. In his words, “I will not give away the speciality of BrainVoyager.” Furthermore, even if users are allowed to program toolboxes for the package, this functionality is offered in a tightly controlled way, so that people cannot gain the knowledge of the package’s most basic coding features.
For many hackers, and especially those committed to open source, the strategies adopted by Brain Innovation and other software companies would be an example of “hoarding of technology” (Torvalds and Diamond 2001, p. 194), a practice typical of “gate keepers for code” (von Hippel and von Krogh 2003, p. 219). For people voicing this kind of concern, the social and economic benefits of software development are maximized whenever programmers share all their coding productions “without attempting to make them excludable” (Schwarz and Takhteyev 2010, p. 624). This concern has been so strong that software development became one of the few domains with instruments aimed to prevent productions from being patented or copyrighted. For example, the Berkeley Software Distribution (BSD) License determines that a certain software package must be open but does not...

Índice