tags:

views:

133

answers:

8

Is it unethical to use a third party library/framework (spring/ibatis) in your app anyway, even though you've been told it will take too long to approve and you can just make do without?

+5  A: 

Yes.

They have to maintain this stuff long after you're gone. Not fun, but go with the policy of the people paying you.

djna
+7  A: 

It is a good way to get into trouble...especially after you were told not to use said library. Maybe you need to make a better case for its use to your superiors.

shambleh
It sounds like it's more a case of bureaucratic delay, which can be extremely frustrating. However, frustration is more a reason to find a job elsewhere when feasible than it is a reason to break the rules.
David Thornley
+2  A: 

Yes, if it hasn't been approved by the company you shouldn't be using it, whether you agree with it or not.

You can always try your best to push them forward so that you can at some point use it, but not until then.

Brandon
+3  A: 

Yes, especially if the license restrictions on the packages open up your employer to liability and they are forced to comply with the license.

Juan
+3  A: 

I think it's an excellent idea to violate company policy, and then to ask about it in a public forum!

More importantly, it's good strategy to believe you know better than those with more experience and a better understanding of the business and legal environment. The result will be that you will be fired, and perhaps prosecuted, and then the problem won't happen again.


Seriously: what if there's a good reason to not use that library and you just don't know what it is? Do you want to learn the hard way?

John Saunders
+2  A: 

Whatever functionality you "can't make do without", you're almost guaranteed that your employer can "do without" an employee that isn't able to operate according to their expectations.

And to answer the question - it would certainly be unethical to deceive or misrepresent your actions in any way. But if you want to bullishly cling to the need to do what you "must" do, then by all means stand your ground.

JamesG
+1  A: 

Yes, I think it is unethical to use a control that your employee does not own.

There are some complicated legal issues around this as well.

By using a third party control you are opening the company to legal suits. If the control happens to be GPL you could be seriously damaging the company IP and get yourself in all sorts of trouble.

But even if the control is free you are leaving the company open to issues that they did not agree to in the first place. Maybe they don't want that dependency, or maybe it won't run everywhere they company intends the product to run (things like Mono, cross platform, 64 bit, etc).

Don't make corporate decisions for the company! That is a good way to get fired and sued. Make your case, pitch the ideas if you want, but if you are not allowed to make corporate decisions then don't do it!

Jason Short
A: 

Why bother?

If corporate policy / bureaucracy is holding you back, then let it slow you down and document the fact. Do it, show how it impacted your work - put it in real hours & dollars. Then make a reasoned case to your supervisors or their supervisors.

But, to actually answer the question, assuming there are no other factors (e.g.: like increased productivity would save lives or feed starving children), then yes, it's completely unethical.

You'll be in this situation a lot in consulting or anywhere in software development. The business or client tells you to do the wrong thing. Here is what you do:

1) Tell them what you think with a reasoned argument
2) Emphasize step #1 with a passionately reasoned argument, if you feel that strongly
3) Suck it up and do what they want.
4) Take the money and walk away (knowing full well you'll be back to fix it eventually)

It's part of the job.