32

My supervisor does not allow me to use commercial software for my project. I believe that they want to reuse, modify and build upon what I do and thus are interested only in tools/libraries that are widely-accepted in the scientific community (which I do not intend to pursue a career in).

The commercial software products license costs are not an issue as students can either officially use the software for free or licenses are quite cheap (e.g. less than 5 Euro for students). As I know which tools are used in the kind of jobs I want to get in, I do not need the supervisor "to guide my software decisions" to help me in this aspect. I am also already quite proficient in one of the commercial software tools I want to use, but I feel my supervisor is not (and also has no interest in learning more about it - I do not blame him for this).

When signing up for the project, usage of commercial software was not explicitly excluded. The topic of the project itself is actually interesting, it is just the software that we cannot agree on.

How might I persuade them to change their view? If impossible, how can I make the most of this situation?

This question is related to what I am asking about, but it is more normative in nature.

eykanal
  • 48,364
  • 18
  • 119
  • 216
  • Comments are not for extended discussion; this conversation has been moved to chat. – eykanal Jun 27 '17 at 19:14
  • 15
    It seems like you think that how you carry out your research should be directed by the job you want to get when you leave academia. This is not your supervisor's concern, nor the concern of the wider academic community. – jwg Jun 28 '17 at 09:56
  • 5
    I'm genuinely conflicted as to whether or not "Ethics" is the appropriate tag here - that seems a little strong. – Fomite Jun 28 '17 at 20:01
  • 4
    Are you talking about using some sort of commercial software to do something "normal" (design a widget with Autodesk, Altium Designer, other CAD/EDA software), or buying into an entire proprietary framework (programming in MATLAB, LabView, SAS, ArcPy, etc.) that might be incompatible with some academic fields? – Nick T Jun 28 '17 at 21:34
  • 2
    What is your topic or field of research? Is computation central or incidental to the research? – 200_success Jun 28 '17 at 23:12
  • 1
    @jwg so the job prospect a student is not something a mentor should care about? That seems a little bit arrogant. – Drecate Jun 29 '17 at 03:44
  • 1
    How about sucking it up and following the rules set by your teacher? You are there to learn, aren't you? A teacher have any right to specify a computational project, esp if he wants you to make a calculation that may be fully automated in some of the commercial software or otherwise interfere with the purpose of the project. – Greg Jun 29 '17 at 05:26
  • 4
    I would see it as a great opportunity to learn the free tool, and it should be easy if you are already familiar with something similar. I regret that I used matlab during my phd, when I should have learned Python & C++ (I now work in the private sector). – RoG Jun 29 '17 at 09:49
  • 2
    Consider also the problem of scaling it up. We used to use some programs in MATLAB, and even though we can get some affordable personal licenses, we cannot use them in the computer cluster, so we had to replace them for large scale applications. – Davidmh Jun 29 '17 at 11:17

10 Answers10

123

The student license can be cheap, but the standard license is probably not. If the chair doesn't have funding for a standard license, or they are not interested in this specific software, the lab will end up with an unusable piece of software as soon as you leave. This is certainly not in the interest of the lab.

What would you advise me to do?

There's not much you can do: either accept the chair's choice of software or go find a project in a lab which uses your preferred choice of software.

Massimo Ortolano
  • 55,428
  • 19
  • 166
  • 207
  • 97
    This is the a large part of the reason software firms giving free student licenses: when the students are no longer students, if they want to keep using the software, the expensive licenses must be bought :) – Stephen S Jun 26 '17 at 19:25
  • @Massimo: I also just outlined this in a comment above: Viewers are available for free. My work would still be useable, but modifying it would be costly (even though I think PhD students are as well eligible to get the software for free/at reduced cost as they are also still students). Please also consider the problem from my perspective: If I follow the lab's preferred way of implementation, it is kind of me who ends up with an "unusable" piece of software, so to say. I think it would be best to come to a compromise as both parties involved spend time on the project. –  Jun 26 '17 at 21:06
  • 32
    @UnitRoot People do not change tools and workflow they are used to, unless you give them a strong motivation to do so, and definitely you're not giving them any motivation. If your program turns out to have a serious bug when you are no longer around, people in the lab should be able to fix it in a reasonable time, which would be impossible if you implement it in a software they're not familiar with. The fact that you end up with an "unusable" piece of software is irrelevant for the lab's chair, because they make the lab's interest. – Massimo Ortolano Jun 26 '17 at 21:18
  • @Massimo: I see your point and thank you for clarifying it. Still, I don't think that's an ethic I would follow. If someone was working for me without getting paid, I don't think I would require them to give up their interests to this extend. Also, my university is not "owned" by the academic staff. They so to say also get paid to engage in teaching/making sure people get educated for the sake of the economy of the nation. I always thought studying was about becoming a critical thinker and learning how to get things done on your own instead of relying on being told how to do things. –  Jun 26 '17 at 22:33
  • @StephenS: There are some valid reasons for using commercial software, I think: (1) Usually, training employees to use them is a lot cheaper as their UIs are more easy to use. (2) Most business users don't need to know how they could do rocket science, but how to be efficient (3) If business decisions rely on your work, management will not want your numbers/results to come from non-commercial software as they have to make sure there is someone that could potentially be held accountable for errors. Management owes this requirement to their stakeholders who might be affected adversely. –  Jun 27 '17 at 07:59
  • 20
    @UnitRoot your point 3 is wrong. Software companies aren't generally accountable for errors, while for open source code there's at least the option of checking it. – Chris H Jun 27 '17 at 11:11
  • 21
    @UnitRoot. You seem to be conflating "Free Software" and "non-commercial software". This is an error. Red Hat Enterprise Linux, for example, is definitely FOSS, and is definitely commercial. – TRiG Jun 27 '17 at 11:40
  • 21
    @UnitRoot, Re: "training employees to use them is a lot cheaper as their UIs are more easy to use.": the gains on the ease of training are offset by the losses from future vendor-planned interface obsolescence and format lock-in. Read the fine print of the license agreement where they absolve themselves of responsibility for whatever those cost you down the road. – agc Jun 27 '17 at 13:47
  • 5
    @StephenS They learned valuable lessons from drug dealers. – corsiKa Jun 27 '17 at 23:35
  • An important consideration, is how are you going to be marked / judged / assessed? On your scientific results, or on your software contributions to a larger project? If the former, you have a justifiable complaint that you are being forced to work "with one hand tied behind your back". If the latter, or if it is pure work experience with no assessment, it's reasonable that you learn to use the established toolset, not your own first choice, and learn to be a "team player". – nigel222 Jun 28 '17 at 09:21
56

You are confusing your academic training, which should focus on instilling in you a good understanding of the theory, with the practical training which you will pick up through working or spending your own time learning a specific tool. While I do appreciate the need to make yourself as employable as possible, I would also say that it is important for the academic community to utilize tools that can be freely used by anyone in order to ensure that future research doesn't get locked into specific commercial toolsets.

Also depending on your area of work you may find employers these days are moving more towards open source anyway (certainly the case in data science).

My suggestion is to do the work using the tool your tutor suggested but pick one part of your project to replicate in the commercial tool. Employers understand why the academic community may not use commercial tools (as they grapple with the question of licensing costs themselves) but will be impressed by your willingness to go the extra mile to learn a tool.

Saitama
  • 499
  • 3
  • 3
  • 1
    it is important for the academic community to utilize tools that can be freely used by anyone in order to ensure that future research doesn't get locked into specific commercial toolsets. I think that you're trying to convince OP to that viewpoint here, rather than answering OP's question. The rest of your answer is probably within the "how can I make the most of it", but I don't find this part constructive. – Joe Jun 27 '17 at 19:30
  • 1
    @Joe A scientist should ensure that other scientists can reproduce his/her work. This answer points into the same direction as the Open Access discussion. One could even see it as unethical, when only scientists with 'enough money' can reproduce results. – daniel.heydebreck Jun 30 '17 at 07:07
  • 1
    @daniel.neumann Then all science is unethical, because all science can only be done by people with enough money to buy the necessary equipment. – David Richerby Jun 30 '17 at 11:11
  • @DavidRicherby Good point :-) – daniel.heydebreck Jun 30 '17 at 12:19
  • @DavidRicherby There is a difference between choosing a tool because this is the only tool that can solve a problem, and choosing a tool because i feel like using it, though there are other options. Later can be unethical if someone locks out others from reproducing his research, just because he felt so. Former is an unavoidable situation. – Greg Jun 30 '17 at 14:42
  • 1
    @Greg Agreed. That was probably the idea Daniel was trying to get across. – David Richerby Jun 30 '17 at 14:54
31

Tool development (perhaps on top of some open codebase) could be an important part of your training (and mark) in many fields. The supervisor also has to be able to supervise the project, and if they're not familiar with your choice of software but you ask for help, guess who's stuck -- you. That's two reasons why it may be in the interests of a typical student to learn to stitch together the standard tools.

It's not an exact match because of the licence costs and other factors, but if someone started on a project I help run and then said "actually I don't want to write it in Python, I want to use Labview" they wouldn't get very far (their bit can be done in about 100 lines, most is handled by library/demo code).

In response to some of your comments: Viewers are available free would be a huge red flag to me, indicating a company that tries to suck you into a commitment to their software. Research is based on building on each other's work. If the research group only view your work in the future (and only while the software company supports it) the group is effectively committing do doing the same work again or paying for a licence if any changes need to be made. By not working with the academic standard software you're doing your colleagues and yourself a disservice. Sometimes commercial, even expensive, software is standard in academia, so I'm not saying we should always use FOSS, but we should be careful.

Chris H
  • 8,576
  • 22
  • 36
12

I don't think that you're going to persuade your supervisor here. There are two kinds of arguments that you can make.

One is that you are entitled to use the software of your choosing. I don't think that this is true and even if it is, then it's not worth the fight. Your relationship with your supervisor will be strained from the get go. You're better off doing what is asked of you and re-doing the analysis in the commercial software to learn how to use the commercial software. This will cost you less time and energy.

The other argument is that you have to convince your supervisor that is in his best interest. I don't think that that is true here. It will be more work for him to build on your work and to supervise your work. And I don't think that you can compensate him for it any shape or form. Again I would suggest learning how to use the commercial software on your own time.

There is the additional point that learning how to code up the analysis is a valuable skill and exercise. It will teach you a lot about what you're doing and this will make writing up your work a lot easier. In addition, it is also a valuable skill to have in the market place. Not because you can code, but because it's another way of becoming more experienced in breaking down a problem into small parts so that a computer can solve these. The breaking down of a problem is what is valuable.

Now I might be wrong about you being able to convince your supervisor. But if you really want to then you have to ask yourself how he will benefit from it. If he won't, then I don't see how you are going to make him happy. My advice is therefore to learn how to use the commercial software in your free time.

9

If I were your supervisor, not only would you not be allowed to use commercial software for which my lab doesn't have a license, I'd also likely discourage you from using tools or libraries that aren't ones commonly used by the lab.

Why?

Because research software is a living thing. You're viewing this project as "I finish it, I get a job, and away I go." But if this is intended for anything other than a closed, one-off project that will be entirely wrapped up the moment you leave, research software has to be usable and maintainable into the future. Your supervisor has to be able to look at the project and understand what's been done. They may need to extend it, etc.

There's also some red flags for me in your question:

As I know which tools are used in the kind of jobs I want to get in, I do not need the supervisor "to guide my software decisions" to help me in this aspect.

There are aspects to any project beyond "Can Unit Root get a job?", and you seem to be utterly ignoring all of them. That's not a great perspective to have when joining a research group.

I am also already quite proficient in one of the commercial software tools I want to use, but I feel my supervisor is not (and also has no interest in learning more about it - I do not blame him for this).

You are setting yourself up for a situation where if you run into problems (hint: it's a research project, you will run into problems) your supervisor will either be unable to assist you, or it will be a great deal of work for them to do so. The reasons why this might be a bad thing should be obvious. And this may occur even if you are very proficient in the use of software - one of the most fiendish problems to solve in my PhD work emerged from software I had been using successfully for 5 years.

When signing up for the project, usage of commercial software was not explicitly excluded.

Approaching this like it's some sort of contractual arrangement with clearly defined terms and conditions is not likely to be a productive way to manage a relationship with your supervisor.

The short of it?

How might I persuade them to change their view? If impossible, how can I make the most of this situation?

You shouldn't. You should do as they ask, do the research, and expand the breadth of your experiences.

Fomite
  • 51,973
  • 5
  • 115
  • 229
4

Unless I've missed something, you haven't mentioned what the subject matter of your Masters is. It may be that your supervisor wishes you to develop some software that does some specific job, in which case the use of commericial software is inappropriate.

At my institution where I am studying a masters in applied maths, I had the choice of using C programming language, FORTRAN, Python, Maple, Matlab or Mathematica. The advantage of C was that I have a linux machine at home with lots of free software. Unfortunately at university if I wanted to use C I had to make use of Cygwin at university and had problems doing some of the things I needed to do so I eventually opted for Maple.

In part this was because one of my modules was Maple. As well, because my supervisor made use of Maple, if there were any programming issues I could approach him.

jim
  • 556
  • 3
  • 11
3

Writing code, even if it "reinvents the wheel" also proves you have true understanding of the principles and theory involved, something that often is not necessarily true for a tool operator (even a solvent one). The goal might be not only to get the job done, but to demonstrate you've gone through it following a methodical, rigorous and valid path.

For the project, you should do as your supervisor asked you.

geojunkieSCI
  • 131
  • 1
  • 1
    Reinventing the wheel is okay if you're doing a coding class. For a research project it's usually a waste of time (unless the research goal is replication). – Crazymoomin Jun 28 '17 at 16:25
3

My experience is that most terms of use agreements for student versions do not include most forms of research, and are often limited to coursework. If you go through the terms of use for what you want to use, and it doesn't allow research, you should reconsider your position, or convince your supervisor to buy a full license if it would increase lab productivity.

Scott Seidman
  • 31,120
  • 4
  • 52
  • 121
1

You can propose to write your project in both the supervisor's preferred software (which you'll have to learn) and your preferred software at about the same time. Assuming that the bulk of the difficulty of your project is in what you're doing with the software, rather than how you do it, then keeping both versions in sync should be reasonable. The flexibility this approach would demonstrate might even look good on a resume/CV. In the worst case, you can simply use your preferred software on the side, for your own benefit, without needing to tell your supervisor.

1

You can argue that you are not very proficient in the standard software, and if your supervisor wants you to use it they should send you on an intensive training course funded from your research budget. Highlight how much valuable time will be spent by you learning to do the same things all over again in different software, therefore contributing nothing towards your project.

Also investigate whether your data or calculations can be converted to a more open format from the commercial software (in an example from CAD, your colleagues might not be able to use a SolidWorks file but a STEP or IGES is readable by most CAD software). That might be a good compromise.

Crazymoomin
  • 699
  • 3
  • 11
  • Instead of arguing it this way if your supervisor wants you to use it they should send you on an intensive training course funded from your research budget.; it's better to make it a request. What do you say? – Coder Jun 28 '17 at 16:48
  • @Coder That might be the more friendly option, but if there's pushback (these things are often expensive after all) it might become an argument. You'd need to stress how much of a delay learning the new software would have on your project. It's in everybody's best interest that you don't spend weeks struggling to learn (possibly a less user-friendly and intuitive) software. – Crazymoomin Jun 28 '17 at 17:05