TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Software Engineering Code of Ethics

88 点作者 jervisfm超过 11 年前

14 条评论

feral超过 11 年前
My main contact with the ACM has been attending (pricey) ACM conferences during my PhD, occasionally publishing work in ACM proceedings. I had no contact with them when working as a software engineer, apart from bumping into their paper paywall.<p>&quot;6.02. Promote public knowledge of software engineering.&quot;<p>ACM papers on software engineering are typically paywalled.<p>&quot;6.05. Not promote their own interest at the expense of the profession, client or employer.&quot;<p>I often hear that researchers don&#x27;t want to limit access to the paper, but feel they have to, to publish and progress.<p>&#x27;Pre-prints&#x27; mitigate this issue somewhat, and I acknowledge that the ACM has taken steps to open things up recently (e.g. author pays); and that while its easy to say &#x27;make it free&#x27;, it costs money to run an organisation that manages publications.<p>I&#x27;d still be concerned that conflicts of interest remain until open access is the standard.
评论 #6828380 未加载
randomwalker超过 11 年前
I&#x27;m a CS researcher and educator (details in profile). Software engineering ethics has been a passion of mine lately. I teamed up with a philosophy prof to write an essay on why it&#x27;s important to teach ethics in CS classes [1]. (It&#x27;s an invited column for CACM.)<p>My coauthor has released a self-contained module with some theory and various hypotheticals that educators can use in classes [2].<p>I&#x27;ve been trying to crowdsource a set of real-world case studies with a broad coverage of various types of ethical issues [3]. I&#x27;m also gradually trying to incorporate this in my own teaching.<p>We&#x27;d appreciate feedback and suggestions.<p>[1] <a href="https://dl.dropboxusercontent.com/u/131764/web/sw_engg_ethics_draft.pdf" rel="nofollow">https:&#x2F;&#x2F;dl.dropboxusercontent.com&#x2F;u&#x2F;131764&#x2F;web&#x2F;sw_engg_ethic...</a><p>[2] <a href="http://www.scu.edu/ethics/practicing/focusareas/technology/software-engineering-ethics.html" rel="nofollow">http:&#x2F;&#x2F;www.scu.edu&#x2F;ethics&#x2F;practicing&#x2F;focusareas&#x2F;technology&#x2F;s...</a><p>[3] <a href="https://freedom-to-tinker.com/blog/randomwalker/ethical-dilemmas-faced-by-software-engineers-a-roundup-of-responses/" rel="nofollow">https:&#x2F;&#x2F;freedom-to-tinker.com&#x2F;blog&#x2F;randomwalker&#x2F;ethical-dile...</a>
评论 #6832063 未加载
评论 #6828227 未加载
评论 #6829670 未加载
kijin超过 11 年前
Has anybody tried to assign an order of precedence to these principles?<p>The &quot;consistent with the public interest&quot; clauses of the 2nd and 6th principles suggests that the first principle takes precedence when it conflicts with either #2 or #6.<p>This is similar to how Asimov&#x27;s famous 3 laws of robotics are written: the first law always takes precedence over the second, and the first two laws always take precedence over the third.<p>But the other principles don&#x27;t mention any order of precedence.<p>Different partial orderings could yield very different interpretations of what software engineers should do in certain circumstances. For example, should we value #4 (integrity and independence) above #2 (best interests of the client) or below it? What if 4.06 (refusing to participate in corrupt orgs) has a detrimental effect on public interest in the long term?<p>Even if we acknowledge that it is impossible to produce a fully consistent ordering of the 8 principles and their numerous sub-principles, I think it would be interesting to identify conflicts and study how different people choose to resolve them. Everyone can nod in agreement when we talk about common moral principles, but it&#x27;s only when the principles begin to conflict that things get really interesting.<p>For example, what would have been the principles that bothered Edward Snowden the most?
评论 #6829771 未加载
Silhouette超过 11 年前
Unfortunately, this entire concept is flawed by its very first point:<p><i>1.01. Accept full responsibility for their own work.</i><p>To be a fair principle, this requires a series of other things to happen, ultimately depending on something we don&#x27;t know how to do yet.<p>Firstly, in exchange for accepting that responsibility, software engineers need the same right as any real engineer to veto the deployment of a project for which they responsible until, in their professional opinion, the work has been done to a satisfactory standard.<p>In order to protect engineers who do exercise their professional judgement in that way, possibly against the immediate interests of their employer&#x2F;client, it must be impossible to replace them with someone else who doesn&#x27;t have the same right or to just fire them and carry on without anyone else taking their place. This requires a mechanism for recognising sufficiently capable people who are qualified to take on such jobs, akin to other chartered professions.<p>In order to establish a recognition programme of practical value, this requires that some impartial body exist that can evaluate individuals to determine whether they are sufficiently capable to merit recognition. This evaluation must necessarily be based on objective criteria to guarantee the impartiality.<p>And in order to do that, we need to have objective criteria to identify &quot;good&quot; software developers and appropriate professional practices in the first place, which we don&#x27;t. And that&#x27;s why software development isn&#x27;t ready to be a real engineering profession yet.
评论 #6828958 未加载
yetanotherphd超过 11 年前
Anything that moves us towards the professionalization of Software Engineering as a bad thing, and against the public good.<p>Nothing has served the interests of privacy, openness and security more than the fact that anyone can become a programmer, without any certification or required education. We are a bottom up industry where big projects can be built and maintained by the efforts of engineers, without the approval of any corporation or professional body.<p>Ethics are not always something that are valuable to formalize and teach.<p>We should resist professionalization not just because it is driven by rent seekers who want to make their cut from accreditation and mandatory courses, but because it attacks the very roots of the hacker tradition.
评论 #6833228 未加载
tomblomfield超过 11 年前
I don&#x27;t understand the point.<p>Replace &quot;software engineer&quot; with any profession and the meaning doesn&#x27;t materially change.<p>Why do we need this?
评论 #6828652 未加载
评论 #6827982 未加载
quesera超过 11 年前
Big committees sure can produce lots of words.<p>It is good and proper to do the good and proper thing under the circumstances of the situation in which you are presented with the opportunity to do good and proper things.<p>I do have some sympathy for the problem here -- it&#x27;s impossible to be actionable and specific in a document like this. This document could be the springboard for other more relevant work. Maybe this needs to exist as a first step. Maybe it requires 25 people to produce. Maybe my ACM dues (and IEEE dues!) are adding value. Maybe.
6d0debc071超过 11 年前
When you&#x27;re told to do something you can hardly go, &#x27;Well, I&#x27;ll get back to you in two weeks once I&#x27;ve done the preliminary public impact analysis.&#x27;<p>Codes of ethics for engineering are relatively simple to apply because the consequences are relatively simple to foresee, (not to say that engineering is simple, but that it remains largely an engineering problem,) build it shoddily and you broke them. And they&#x27;re emotive because the consequences are both simple to foresee and catastrophic. Most people don&#x27;t want to see someone killed.<p>But most people don&#x27;t <i>set out</i> to write buggy code, or to cause bad things to happen in the software world - it&#x27;s just that the degree of insight required to avoid such things is enormous. Especially so when working with highly restricted degrees of freedom under management that doesn&#x27;t give you all the facts.<p>The ethics for software engineers need to be more than collections of principles pattern-matched off the ethics of other professions. They need to be different to the ethics for mechanical engineers. As the ethics for lawyers are different to those of mechanical engineers. For all that we both deal with complex systems they are very different professions, presenting their own particular types of problems with actualising ethical feelings into consistent sets of principles and actions.
评论 #6828197 未加载
wavefunction超过 11 年前
This is great, and I&#x27;d be happy to sign it (well, other than being a college dropout) but the reality I&#x27;ve seen in industry is that 30 seconds after adopting this pledge, I would be asked to do something that contradicts it. Then get weird stares when I inform them that their request &quot;goes against the Software Engineering Code of Ethics&quot; while they fill out my pink slip.
评论 #6828120 未加载
pjmorris超过 11 年前
I prefer the IEEE&#x27;s code: <a href="http://www.ieee.org/about/corporate/governance/p7-8.html" rel="nofollow">http:&#x2F;&#x2F;www.ieee.org&#x2F;about&#x2F;corporate&#x2F;governance&#x2F;p7-8.html</a><p>It spends more time on the nature of the work, and less time covering every possible base someone on a committee thought was important.
评论 #6830492 未加载
kevinpet超过 11 年前
&quot;and does not diminish quality of life, diminish privacy or harm the environment.&quot;<p>This is a very strange meaning of &quot;ethics&quot;. I understand ethics are relating to what that profession does, i.e. a lawyer or priest cannot ethically divulge certain communications. By pulling in this abstract public interest, the software engineer is supposed to conform to some specific balance of environmental damage and privacy against other good things. Does this make every Facebook engineer and mining software developer unethical?
jmount超过 11 年前
I am shocked that the ACM doesn&#x27;t have the code of ethics behind their traditional &quot;serving both professional and public interests&quot; paywall.
wreegab超过 11 年前
&gt; 1. PUBLIC - Software engineers shall act consistently with the public interest.<p>In some places, &quot;public interest&quot; can go counter to &quot;human rights&quot;. So I would rather have (order of precedence apply):<p>1a. PUBLIC - Software engineers shall act consistently to respect human rights.<p>1b. PUBLIC - Software engineers shall act consistently with the public interest.
评论 #6828062 未加载
cJ0th超过 11 年前
Now what? If people would care about these codes then Facebook will shut down. (and personally, I think that would be awesome..)<p>I am all for a more ethical world but it just won&#x27;t work like this. The best thing a software engineer can do to boost ethical standards is to __not work at an unethical organization__.