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.

9
  • 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, 2017 at 9: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, 2017 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, 2017 at 21:34
  • 2
    What is your topic or field of research? Is computation central or incidental to the research? Jun 28, 2017 at 23:12
  • 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, 2017 at 9:49

10 Answers 10

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.

10
  • 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, 2017 at 19:25
  • 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. Jun 26, 2017 at 21:18
  • 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, 2017 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, 2017 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, 2017 at 13:47
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.

6
  • 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, 2017 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. Jun 30, 2017 at 7: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. Jun 30, 2017 at 11:11
  • @DavidRicherby Good point :-) Jun 30, 2017 at 12:19
  • 1
    @Greg Agreed. That was probably the idea Daniel was trying to get across. Jun 30, 2017 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.

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.

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.

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.

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). Jun 28, 2017 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.

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.

2
  • 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, 2017 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. Jun 28, 2017 at 17:05

You must log in to answer this question.