題:
老闆希望我忽略軟件API許可證
RolfZ
2019-08-12 18:43:34 UTC
view on stackexchange narkive permalink

我是一家歐洲公司的軟件開發人員。

我的老闆希望我開發一些使用外部API並將接收到的數據存儲在我們自己的數據庫中的軟件。

外部API的政策顯然不允許這樣做,但可能永遠不會引起別人的注意。

我對此仍然感到非常不舒服,並且可能不會這樣做。

我的老闆知道這是不允許的,但仍然希望我實現此功能。

我應該怎麼做?

更新:因為這裡有很多人正在猜測哪種API不允許存儲數據(與IMHO無關)-我可以確認外部API是按請求計費的,並且顯然不允許任何緩存,永久存儲。

Update2:這不是一次批量下載-就像永久緩存一樣。

評論不作進一步討論;此對話已[移至聊天](https://chat.stackexchange.com/rooms/97365/discussion-on-question-by-rolfz-boss-wants-me-to-ignore-a-software-license)。
您是將其用於“大量下載”(每次編輯),還是我懷疑-在本地“緩存” API調用的結果,因此下次您再次為同一查詢調用該API時,將從您的查詢中檢索數據庫,而不是付費來再次調用API?
@seventyeightist是正確的。使用GIS服務獲取郵政編碼的多邊形是一回事,然後在以後需要的時候再保存25次。從0迭代到99999並獲取所有多邊形是另一回事。這裡有一點上下文是有用的。
標題被錯誤地更改為包括“大量下載”-並非如此。@seventyeightist你是正確的。
@RolfZ您是否正在使用酒店/航空公司數據?因為我的前任老闆告訴我要實施完全相同的事情。
因此,API提供者是否真的希望為提供完全相同的數據而多次付款?這聽起來非常奇怪。您的法律部門如何解釋該政策?
@FooTheBar是的!因為該信息是(例如)API提供者的“知識產權”,所以其服務條款禁止您將其複製到自己的數據庫中。我正在考慮類似地址/郵政編碼/郵政編碼的查詢,公司在其中訂閱了“地址填充”服務,最終用戶(網站,公司的客戶)給出了郵政編碼“ SW1A 1AA”(白金漢皇宮-英國王室的所在地),API會以白金漢宮的郵政地址作為回應。該公司不能僅僅按照“服務條款”來“緩存”和“重用”這些內容。
...下次用戶放入“ SW1A 1AA”時,應用程序已經看到了此內容並對其進行了緩存(處於老闆概述的期望狀態),因此他們無需付費就可以再次調用該API,因為它們已經包含在其中自己的(不完整的)“郵政編碼數據庫”。
順便說一句,OP並沒有明確指出它,但是基於我的知識-API提供者將其“檢測不到”(“可能永遠不會引起別人的注意”)的原因是:它會通過“流量不足”與“流量過大”-因為下一次OP公司想要為相同的輸入調用API,他們將已經在數據庫中擁有該輸入,因此將沒有任何東西去往API提供者的服務器。因此,他們不會注意到過多的請求或類似的請求。在現實中,不可能檢測到您本來會收到的請求的“缺失”。
除了問題的實際答案之外,API開發人員正在嘗試實施一項幾乎不可執行的政策。一遍又一遍地向他們支付相同的信息是沒有意義的,即使您無視常識,一旦將信息發送給他們的客戶,他們也無法控制信息。他們會起訴您在某個地方擁有自動緩存系統嗎?如何離線複製數據,例如需要能夠在網絡中斷期間工作的移動設備?該政策聽起來像是一團糟,沒有被咬。
@Flater有許多可能的環境。例如,客戶可能正在出售使用數據的服務。數據提供者購買了該服務的許可證,並註意到他們對數據的查詢不會引起活動。只是一個例子。
十一 答案:
520 says Reinstate Monica
2019-08-12 18:57:01 UTC
view on stackexchange narkive permalink

以書面形式獲取。將確認書的副本保存在遠離公司硬件的地方。

違反軟件和服務許可證是一種如果真的被抓住,可能真正使公司陷於混亂的事情。他們會希望有人怪罪,一個不道德的風袋最終會刪除公司服務器上與他們的“要求”相關的所有電子郵件,並讓您成為他們的替罪羊。

採取主動,並通過電子郵件發送給您的老闆,要求確認,精確地佈置了他們要求您做的事情。 BCC個人電子郵件帳戶或將電子郵件保存到USB驅動器(以較安全的為準)。與收到的任何回復同上。在這裡,您可以選擇與更高級別的人聯繫,或者與軟件盜竊聯合會(盜版資源,但無論如何故意故意違反許可證的情況)聯繫,或者與服務提供商聯繫。

請記住,如果較高的情況讓老闆知道,第一個可能會導致受到懲罰,第二個可能引發獵殺(FAST通常不提供有關線人的信息,但如果公司是不道德的,他們會會尋找誰做了什麼>,而第三者可能會導致浪費工作,因為您的公司帳戶在代碼啟動並運行後不久就因違規而被永久禁止。 >

評論不作進一步討論;此對話已[移至聊天](https://chat.stackexchange.com/rooms/97447/discussion-on-answer-by-520-boss-wants-me-to-ignore-a-software-api-執照)。
Thomas Owens
2019-08-12 19:07:19 UTC
view on stackexchange narkive permalink

就像任何涉及道德考量的事情一樣,您需要為自己的決定帶來的影響做好準備。

如果您的公司有法務部門,我會考慮從此開始。您正在執行的操作違反了API的服務條款,可能會給您的組織帶來麻煩。這可以幫助您進一步了解API創建者的條款和政策,以確保每個人都理解它們。

如果您的經理拒絕理解這一點的可能含義,那麼您可以選擇幾種方法,但沒有一個人可以告訴您您可以或應該做的事情:

  • 如果您的組織有道德熱線或服務,則他們可以接受匿名的問題或疑慮並提供操作指南。
  • 您可以接受它,而您需要堅持自己的決定。
  • 您可以拒絕並處理可能導致無法在組織中升遷的結果甚至終止。
  • 您可以辭職並拒絕成為不道德組織的一部分。
  • 您可以與API創建者聯繫,以澄清服務條款,並且,如果您的公司確實違反了它們,請自行舉報-可能存在協議餘地,或者API創建者可以阻止您的公司訪問API。

T根據我所熟悉的各種軟件工程道德規範,道德上的事情是確保不濫用API,並且您遵守服務條款。但是,如果您依靠這份工作來謀求金錢或福利來維持自己和家人的生活,而失去這份工作卻沒有任何安排,則會使您陷入不可持續的境地,我相信沒有人會發現您的行為有錯。 >

我認為您的答案錯過了最重要的一點(請參閱@520's答案):如果您決定遵守,則應記錄所有內容並提供備份
@PierreArlaud為什麼會對選擇的倫理產生影響?不會的。
要點,但要學究,問題是“我該怎麼辦?”而不是“我要選擇什麼?”
我相信@PierreArlaud回答了。要做的第一件事是獲得有關許可證的專家(法律)意見,以確保您正確解釋了許可證。如果您是,正確的做法是不遵守。但是,我高度懷疑有人撰寫道德案例研究是否會因您因其他情況而不得不遵守該法律而給您造成不利影響,並且與遵守該法律的一般後果相比,個人風險太大。沒有人會因為這種選擇而喪命或受傷-這是錯誤的,但最糟糕的結果可能是該公司面臨風險。
我非常確定,在大多數歐洲國家/地區,因拒絕違反第三方的條款和條件而解僱某人將被視為不公平的解僱,但IANAL則被認為是不公平的解僱。
@JackAidley,但是如果他不能證明違反T&C的要求,為什麼他們會聽他的而不是公司的版本?
+1是從公司的法律部門(如果有)開始,而不是從您自己的僱傭律師開始,因為發出此請求聽起來像是老闆而不是整個公司。上司個人是可能在這裡“流氓”的人。
@mathreadler我不確定我是否遵循。為了解僱他違規,他們必須說出他沒有遵守的內容。有違規證據。他有什麼要證明的?當然,保持自己的記錄也是一個好主意。
@JackAidley好吧...他們可以找到另一個原因,不需要他們透露他們要求法律上可疑的事情。例如,像某些人提到的那樣,將公司的機密通信或信息複製到私人存儲設備上,也很可能是被解僱的原因..您不認為嗎?
@mathreadler可以從事這種行為,是的-即使不是微不足道的-但這只是我要講的一點。
“可以從事這種行為”,大聲笑。對他們說“嘿,我們做了一項要求我們的員工違反法律的任務”是完全愚蠢的。
法律或人力資源部門內可能有特定的“道德”部門/團隊,員工可以向其提交此類問題。理想情況下,舉報人可以與Ethics聯繫而無需擔心遭到報復是公司政策的問題。
@MontyHarder也許。由於關注的根源是API的服務條款,因此第一步應該是對這些服務條款進行法律解釋。另外,合法的暴露可能足以解決說明中的問題。公司也可能有道德熱線-我應該將其編輯為答案。
這個問題涉及三個方面:法律,道德和實踐。大多數答案與問題的道德和實踐(@Graham)方面有關。 從法律上講,我懷疑您將被追究法律責任。您開發的代碼不是您所有,而是您的公司所有。 公司有責任(請律師)確保其沒有違反第三方許可證,並且最終不是僱員。在投產之前,我曾在公司對代碼進行過黑鴨等工具審查的地方工作。
違反合同並不違反法律。不會要求員工做違法的事情。公司當然可以使用違規解僱員工。
Graham
2019-08-13 15:10:50 UTC
view on stackexchange narkive permalink

,但它可能永遠不會引起別人的注意。

不確定。服務於流行數據(地圖等)且存在與大眾下載相關的可接受使用策略的公司,通常會採用某種檢測機制來實施這些策略。來自同一IP地址或類似內容的請求過多,您有可能會跳出這些機制。結果可能會有所不同,從節流,接下來的24小時截止到整個區塊。

您,您的老闆和團隊中的其他成員需要評估您的產品/站點在發生什麼情況如果第三方關閉水龍頭。如果結果對您的業務而言是致命的,那麼您的老闆顯然需要做出一些努力。也許您需要重新設計產品/站點才能遵循API,而無需大量下載。也許您需要支付許可才能批量下載(通常這是這些地方賺錢的方式)。或者,也許您的老闆把公司放在了網上。不管答案是什麼,技術團隊都需要給他選擇權,他必須打電話給他們。

如果您的老闆不是企業主,那麼您的老闆需要上報最終決定。他可以推薦一個決定,但是如果結果可能對企業致命,那麼他應該足夠聰明,可以從高層獲得支持。如果他不是,那麼您和您的團隊需要自己升級。

這是一個很重要的一點,它使整個事情變得不可能起步。如果組織在編寫API時遇到麻煩,那麼如果他們不注意使用情況並監管任何違反其政策的人,我將感到非常驚訝。
user74534
2019-08-12 20:45:21 UTC
view on stackexchange narkive permalink

這取決於您的個人信念。

據我了解,濫用API似乎不構成刑事犯罪(請不要只聽我的話,請尋求法律建議)為了確定)。但是,請確保您的軟件正在執行的數據收集和存儲是合法的。在歐洲,有嚴格的數據隱私法(GDPR),尤其是在收集有關人的數據時。 API的政策可能是防止非法收集數據。

人們有不同的個人信念,有些人比其他人更道德。只要收集的數據是合法的,您就很難說服老闆採用您認為符合道德的路線。您必須意識到,根據他們的文化和個人信念,您的老闆可能不會將濫用API視為不道德的事情。

我看到您有幾種選擇:

  • 您可以服從老闆,並根據其政策使用API​​。請注意,這不太可能是一次性的,將來可能會出現更多類似的請求。您說“是”的人越多,越難說“不”。

  • 您可以根據其政策拒絕使用API​​。這很可能與您的老闆不合時宜,極端情況是您可能會失業。

  • 您可以提出替代解決方案。它可能需要一些創造力,但您甚至可能會找到一個API,在該API中,以老闆要求您的方式實施該API不違反他們的政策。這有可能不會使您的老闆生氣(太多),同時讓您堅持自己的信念。

  • ol>

    在您的情況下,我建議您選擇一切3工作,如果其他所有方法都失敗,則只能求助於1或2。

    如果以任何方式將政策制定為具有法律約束力,我將同樣對待。API提供商絕對可以起訴它,即使它不受刑法管轄。
    有一種法律論據認為,根據“計算機欺詐和濫用”法,這種犯罪是可以被視為未經授權訪問計算機系統的一種形式。LinkedIn最近試圖在LinkedIn訴HiQ案中對此提出建議,我認為此案仍在繼續。 另請參閱https://en.wikipedia.org/wiki/Computer_Fraud_and_Abuse_Act#Aaron_Swartz
    @ChlorideCull該公司因濫用API而被起訴,而不是因為僱員而被起訴,但如果是刑法問題,則僱員也必須對此做出回應。最大的區別是,在發生民事事件時,員工不對公司的行為負責,並且絕對不負責公司的戰略。但是員工肯定負責不入獄。
    R.. GitHub STOP HELPING ICE
    2019-08-13 03:41:57 UTC
    view on stackexchange narkive permalink

    您在問題中沒有提供足夠的信息來確定老闆的要求是否不道德和/或違法和/或違反了與另一方的合同/服務條款。這些都是截然不同的事情,您應該以不同的方式對待。

    如果請求是非法的,即使您認為這不是特別不道德的,也不應代表雇主這樣做。當他們被抓住時,他們會讓你成為替罪羊。您可以拒絕參與(根據管轄權,如果他們對此採取報復行動,則可能會受到保護),但是您仍然可能發現自己在敵對環境中工作,或者如果後果使公司倒閉,則可能失業。

    如果請求不道德-以適合您情況的示例為例,請考慮從社交媒體中抓取人們的照片或在不違法的司法管轄區中從約會資料中抓取個人信息-那麼我認為您不應該這樣做,但是您可能會拒絕這樣做而缺乏保護。您可能應該諮詢律師。

    如果該請求僅違反您的雇主與另一方的合同或服務條款,而不是違法或不道德的,那麼我認為沒有理由不這樣做用它。您可能需要先諮詢律師,並確保您不會因為“曲折性干擾”而提出訴訟。 (注意:IANAL,但這是我對法律最相關的領域的猜測。)但是,否則,這是他們的事,而不是您的事。值得一提的是,許多API的服務條款都是不道德的,一開始就無法執行。

    user44108
    2019-08-12 18:49:59 UTC
    view on stackexchange narkive permalink

    您已經提出了這個問題,並要求經理以書面形式指示您按照要求編寫API(並違反API的文檔指南)。

    他們也有完整的要求表明他們的理解是,如果以及何時更新API來關閉此漏洞/後門程序,代碼很可能會中斷。

    如果這樣做,則最好執行說明和代碼。

    當情況變糟時,您將準備更改該代碼,因此請牢記這一點,並遵循預期的開發路徑,以使將來的糾正更加容易。

    究竟。作為開發人員,Boss可能會與API提供者達成特殊協議。真的不關你的事。如您所說,讓老闆意識到您的擔憂,進行書面記錄,然後進行編碼。
    brodybits
    2019-08-13 21:54:12 UTC
    view on stackexchange narkive permalink

    您應該立即聯繫職業律師,說明情況,並尋求一些快速的建議。

    從問題中看,有些事情似乎還不清楚,例如違規行為的嚴重程度,是否違規?是否應該將其視為“非法的”,無論這是否真的違反GDPR等。這聽起來至少像是在工作場所違反良好道德規範。現在,此答案已經過編輯,可以解決該問題,無論違規的嚴重程度如何。

    您應該始終拒絕妥協雇主的職業道德,尤其是在違反GDPR和版權的情況下。否則,您將來可能會對任何此類妥協或侵權行為承擔責任。您可能應該當場退出,以免因“原因”而被解僱。

    這不適用於可能不是最有效或最現代的指令或過程。這只是關於法律和道德的問題。

    任何公司都不得讓其員工違反法律。

    在尋找新工作時,您總是可以說您拒絕違反法律。法律或良好道德的妥協,我認為有很多公司都希望這類員工。

    您的觀點是有效的,但是從OP中不清楚數據是什麼,或者數據正在做什麼。僅僅過度使用公共API本身就不是非法的。
    我只是修改了答案,以更一般的方式解決了這個問題。
    違反合同並不違反法律。與律師聯繫是過分的。一般而言,由於合同是用人單位與另一公司之間的合同,因此僱員不承擔違約責任。雇主可能會因為僱員的過失而起訴最糟糕的事情,因為僱員曾向雇主強調過法律問題,他們可能不會在法庭上受審。
    同樣,討論GDPR和版權也是一個麻煩。首先,GDPR在許多國家/地區受到法律的支持,這使其與違約有所不同。其次,在版權方面,如果公司指示員工侵犯版權,則公司本身幾乎將承擔替代責任。
    “您應始終拒絕妥協雇主的職業道德”。此外,該聲明來自特權職位。沒有人能輕易找到工作。當您必須供養一個家庭時,道德問題變得更加複雜,您的選擇將產生超出您自己的後果。
    SSight3
    2019-08-15 18:35:21 UTC
    view on stackexchange narkive permalink

    考慮與API許可證所有者聯繫

    雖然合法地掩蓋自己並以書面形式獲得它是一個非常好的主意,但我注意到並不是一種替代解決方案建議,也許是針對這種情況採取積極主動的方法,以避免出現重重困難。

    也就是說,您可能要考慮與API許可證所有者聯繫,並直接向他們詢問允許進行一次批量下載。 API許可證所有者的回應可能包括:僅出於禮貌地要求您免費提供許可,到指定許可證費用(根據價格,您可能會選擇掩蓋自己以避免麻煩,將其歸檔為費用或將其轉介給您

    數據集所有者可以免費提供一次性大量下載(在某些開源或較小的私有社區中可能是這種情況)或提供的機會合理的價格可以使與API許可證所有者的聯繫成為合理的行動方針。但是,與他們交談可能會打開其他選項。

    更糟糕的情況是他們拒絕,現在他們知道您的意圖是違反合同。
    Harper - Reinstate Monica
    2019-08-14 04:42:09 UTC
    view on stackexchange narkive permalink

    您不知道您的公司沒有無法獲得大規模刮擦的協議。

    盡可能通過書面形式獲得說明,將其保持在離線狀態,並確保沒有任何抓取的API帳戶在任何地方都帶有您的名字。

    現在,有兩種方法可以抓取。一種是輕柔地爬網,循環中使用 sleep()來最大程度地減少服務器端的影響。另一種是全吞吐以獲取最大吞吐量,甚至產生多個線程,因此您不必在發送另一個查詢之前等待響應。兩者都是有效的概念,但是在這種情況下,我建議您熟練地實現第二個概念,好像這是唯一/顯而易見的處理方式。就像您從未想到過,另一家公司的服務器負載可能會成為問題。

    換句話說,由於您必須實施它,所以我建議甚至不要隱藏

    在那一點上,它在另一家公司上注意到服務器活動的增加並進行調查。這肯定不是他們的第一個牛仔競技表演,即使它是您公司的。

    他們注意到的結果是一大包“不是你的問題”。您當然希望並期望他們會:“哦,這是客戶ID J12345,他們具有刮除該數據的站點許可證”。無論如何,這不是您的問題。

    GrandmasterB
    2019-08-15 02:06:50 UTC
    view on stackexchange narkive permalink

    您可能在這裡想得太多(再次取決於具體情況)。如果許多API提供者註意到您正在免費層或他們願意放棄的某個級別上走,他們將只是開始拒絕該請求。屆時,您將需要API許可證。基本上,不要在這裡過分拘泥於道德,因為API提供者很可能非常了解他們的“放棄”和要求人們付款的條件。

    HenryM
    2019-08-12 22:34:24 UTC
    view on stackexchange narkive permalink

    我可以想到三種可能的答案:

    1. 挑戰:說,“在我這樣做之前,我需要書面和簽名的命令才能在紙上做這個。”現在,他聲稱您可以勝任這項工作,這符合他自己的自我保護意識。比您實際能完成的時間更長。直接向他暗示,他最好找別人做。
    2. 直接:說:“對不起,但我不能那樣做。這違反了我的信念,無視這些條款
    3. ol>

      現在,任何這些選擇都可能導致老闆對您採取行動。即使他似乎在第一天,幾天/幾週後完全接受了您的答复,他仍然可以發起一場騷擾您的運動。

      讓我們說您沒有幫助老闆做這個項目,但他得到了它無論如何。您仍在一家公然違反道德標準的公司工作。您對此有何感想?如果您感覺不舒服,那麼可能是時候找另一份工作了,因為不管您的參與如何,老闆很可能都會完成項目。

      還有其他需要您考慮的事情:律師寫這些條款,但另一家公司的業務和技術人員可能會100%同意您的公司按照老闆的要求去做。如果您的公司正在緩存API公司未按請求出售的數據,那麼它是無害的。儘管以我的經驗,您公司的某人應該與另一家公司的某人進行討論,然後再假設您可以通過這種方式開展業務,因為可以隨時關閉(拒絕訪問)該API通常是原因。這可能對您的業務不利。

    “與某人在另一家公司的技術人員聯繫”即使他們允許,即使技術上可行,這仍然是一項法律和業務決策。
    @FooBar是的,但是管理層同意公司之間的協議並授權高層溝通,然後下級員工進行溝通。事實的溝通渠道是開放的,那麼這是一個很好的指標。


    該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 4.0許可。
    Loading...