Können wir davon ausgehen, dass heute alle Benutzer über einen Internetzugang verfügen?

18

Können wir als Entwickler davon ausgehen, dass alle Benutzer über einen Internetzugang verfügen, da das Internet so gut wie allgegenwärtig ist? Jetzt meine ich nicht, dass der Code so geschrieben ist, dass, wenn keine Verbindung besteht, das gesamte Programm aufgrund fehlenden Fehlercodes abstürzt. Was ich meine ist, können Programme heute unter der Annahme entwickelt werden, dass ihre Benutzer immer Zugang zum Internet haben werden?

Sie könnten fragen: "Was gewinnen wir, wenn wir das annehmen?" Der Grund, warum ich danach frage, ist, dass wir an der Uni eine ganze Reihe von Programmen verwenden, die aufgrund der Art und Weise, wie sie die Lizenzen überprüfen, einen Internetzugang benötigen (es überprüft Ihre IP-Adresse - wenn es keine Adresse auf dem Campus ist, dann sind Sie es nicht erlaubt, es zu benutzen). Beachten Sie, dass das Programm ohne Internetzugang einwandfrei funktionieren sollte. Es wird nur für die Lizenzprüfung benötigt.

EDIT: Ich spreche hier über Desktop-Anwendungen.

EDIT2: Von einigen der Antworten bekomme ich das Gefühl, beschuldigt zu werden, die Benutzer auf unethische Weise ausgenutzt zu haben. Ich unterstütze nicht , was ich in dieser Frage beschrieben habe - ich frage nur, weil die Entwickler einiger der Programme, die wir bei uni verwenden, dies getan haben. Persönlich halte ich das für dumm und falsch.

gablin
quelle
4
Im Idealfall wäre die Lizenzprüfung nicht einmal ein Problem.
Alternative
1
Desktop-Anwendung? App?
Marcie
@Marcie: Ah. Ich meinte Desktop-Anwendungen. Frage aktualisiert.
Gablin
7
Möglicherweise habe ich einen Internetzugang, aber die Firewall meines Unternehmens mag es möglicherweise nicht, wenn mein Computer mit Ihrem Computer spricht :)
Tim Post
Bitte beachten Sie, dass der Internetzugang kein Internetzugang ist.
MSalters

Antworten:

45

Eine schlechte Idee aus drei Gründen. Erstens, obwohl heutzutage jeder Zugang zum Internet hat, was im Grunde genommen der Fall ist, haben sie es nicht immer zu jeder Zeit zur Verfügung. Mein primäres Gerät ist ein Laptop, und es ist oft verbunden, aber nicht, wenn ich zum Beispiel im Bus bin.

Zweitens und in gewisser Weise in Bezug auf die erste, ist Ihre Methode der Überprüfung. Was passiert, wenn ein Student eine legitime Kopie des Programms erhält, es auf seinen Laptop legt und dann mit einem Freund zusammen studiert, der außerhalb des Campus lebt? Sie haben soeben eine Art falsch-positiven Zustand in Ihre Lizenzprüfung aufgenommen.

Drittens gibt es überhaupt ein ethisches Problem bei der Lizenzprüfung. Wenn eine Person ein Programm auf ihrem Computer ablegt, haben Sie kein Recht, ihren Computer dazu zu bringen, es als ungültig zu behandeln. In jedem anderen Kontext, der als Hacken bezeichnet wird und Sie in allerlei heißem Wasser landen könnte, und nur weil unsere Urheberrechtsgesetze von den Eigentümern des Urheberrechts missbraucht wurden, um in Sonderfällen eine rechtliche Ausnahme für dieses Szenario zu schaffen, ist dies nicht richtig .

Die Durchsetzung des Gesetzes ist Aufgabe der Strafverfolgung, und Privatpersonen werden dringend davon abgehalten, die Strafverfolgung selbst in die Hand zu nehmen (Wachsamkeit), weil sie dazu neigen, alles falsch zu machen. (Schauen Sie sich einfach das Sony Rootkit an!)

Ihre beste Vorgehensweise wäre anzunehmen, dass der Benutzer über eine Internetverbindung für Funktionen verfügt, die diese tatsächlich benötigen, diese jedoch nicht für Funktionen, die ohne diese Funktion auskommen, und dies sicherlich nicht, um das Programm davon zu überzeugen Es ist keine illegitime Kopie!

Mason Wheeler
quelle
2
Notiz an
mich
Ich glaube nicht, dass Gablin tatsächlich an der Entwicklung eines solchen Systems interessiert ist, er verwendet dies nur als Beispiel (was auch meine Universität mit webbasierten Diensten wie JSTOR getan hat). Ich stimme jedoch allem zu, was Sie vorschlagen. Internetzugang ist in der Tat nicht allgegenwärtig ...
Msanford
2
Wie msanford gerade sagte, bin ich absolut nicht daran interessiert, ein solches System zu entwerfen. Und ich stimme Ihrer Antwort voll und ganz zu - VPN von zu Hause auf dem Campus zu haben, um im Labor remote arbeiten zu können, ist eine harte Nervensäge! Ich kann nicht verstehen, was sie beim Entwerfen eines solchen Validierungssystems dachten, und dachte mir: "Vielleicht haben sie angenommen, dass jeder Zugang zum Internet hat." Daher diese Frage. Wieder eine gute Antwort. +1
gablin
26
  • Nicht alle Benutzer verfügen über einen nutzbaren Internetzugang. Außerhalb kleiner und mittlerer Städte (und ihrer Vororte) und Universitätsstädte haben die USA beispielsweise fast keine Breitbandinfrastruktur. Benutzer in Kleinstädten und auf dem Land sind in der Regel Satelliten- oder Einwahlnutzer (und ihre Telefonleitungen sind nicht immer die besten, weshalb die Einwahlgeschwindigkeit oft unter 50 k / s liegt).

  • Benutzer mit einem guten Internetzugang zu Hause / im Büro arbeiten häufig an anderen Orten: in Parks, Flugzeugen, Cafés, an Konferenzorten usw., denen normalerweise ein zuverlässiger Internetzugang fehlt.

  • Viele Benutzer investieren aus einem bestimmten Grund in Reservestrom: Sie haben keine Ausfallzeiten während eines Ausfalls. Wenn Sie Ihre Anwendung verkrüppeln, wenn das Internet ausfällt, haben Sie ihnen gerade diese Investition genommen.

  • Internetverbindungen scheitern, ISPs (oder Arbeitsplätze oder Universitäten) blockieren den Datenverkehr nach Belieben, Heimanwender konfigurieren ihre NATs falsch ... Es ist einfach dumm, einen künstlichen (dh keine technische Folge des Aufbaus des Dings) Fehlerpunkt zu schaffen in Ihrer Software.

Die oben genannten Gründe sind mehr als genug, um das DRM-Modell "Call-Home" nicht zu verwenden. Aber selbst wenn keine davon wahr wäre, würde ich trotzdem davon abraten, da es, wie Mason bereits herausgestellt hat, ethisch falsch ist, Ihre Benutzer auf diese Weise auszunutzen.

Sie dürfen Informationen über Ihre Benutzer nicht nur aus Gründen Ihrer eigenen Meinung preisgeben. Sie haben kein Recht zu überwachen, wann und von wo aus sie Ihre Software verwenden. Wenn Sie so etwas tun, wird das Vertrauen Ihrer Benutzer verletzt.

HedgeMage
quelle
7
+1 für "Schaffung eines künstlichen Versagenspunktes". Das ist ein sehr guter Weg, um es zu beschreiben.
Mason Wheeler
16

Nein!

Alle Programme sollten den Zugang zum Internet als Best-Case-Szenario mit einem Fallback-Modus für den Fall betrachten, dass der Computer möglicherweise nicht verbunden ist.

Da es so viele Laptops gibt und die meisten öffentlichen drahtlosen Netzwerke noch kostenpflichtig sind, erleben die meisten Laptop-Benutzer regelmäßig Bedingungen, unter denen sie ihren Computer und ihre Programme ohne Internetverbindung verwenden müssen .

Da auch andere Antworten veröffentlicht wurden, kann davon ausgegangen werden, dass der Computer zu einem späteren Zeitpunkt verbunden sein wird. Viele Anwendungen vom Typ "Synchronisierung", die über einen Offline-Modus verfügen, funktionieren auf diese Weise. Aus Höflichkeitsgründen sollten Sie jedoch nicht so vorgehen, es sei denn, es handelt sich um einen Dienst für den Benutzer . Ich glaube nicht, dass Lizenzprüfungen in diese Kategorie fallen.

Nicole
quelle
15

Nein

Sie können nicht davon ausgehen, dass alle Benutzer über einen Internetzugang verfügen. Für grundlegende Statistiken klicken Sie hier

Mit Ausnahme von Webanwendungen sollte eine Desktopanwendung meines Erachtens nicht davon ausgehen, dass sie über einen Internetzugang verfügt.

Dunkle Nacht
quelle
1
Ich mag die Tatsache, dass Sie Statistiken in Ihre Antwort aufgenommen haben. Weg zum greifbaren Beweis.
LazyPower
1
es sei denn, es ist ein Browser (obwohl sich auch das mit HTML5 ändert).
Dan_waterworth
2
Ja, aber sogar ein Browser kann offline verwendet werden :) Es gibt viele legitime Situationen, in denen dies verwendet werden könnte. Beispielsweise kann in .NET ein "Webbrowser" -Steuerelement in Formulare eingebettet werden. Auf diese Weise kann eine Desktop-Anwendung HTML (z. B. Berichte) erstellen und diese im eingebetteten Formular anzeigen lassen. Die HTML-Datei wird entweder im Speicher übergeben (von einer Zeichenfolge geladen) oder von der Festplatte gelesen.
Darknight
Sogar Web-Apps können rein intranetbasiert sein und die Benutzer haben möglicherweise überhaupt keinen Internetzugang.
MartW
6

Die Kurzversion ist NEIN. Sie können nicht davon ausgehen, dass alle Benutzer über einen Internetzugang verfügen. Wie andere bereits erwähnt haben, gibt es eine große Anzahl von Menschen mit eingeschränktem oder keinem Internetzugang zu Hause.

Ihr Lizenzierungsschema sollte in der Lage sein, den Fall zu behandeln, dass der Computer, auf dem die Software ausgeführt wird, niemals Zugang zum Internet hat. Es ist nicht ungewöhnlich, dass Unternehmen Netzwerke haben, die vom Internet isoliert sind (insbesondere bei Sicherheitsbedenken). Dies gilt insbesondere dann, wenn Sie Ihre Software jemals an eine Regierungsbehörde verkaufen möchten. Die andere Seite ist, wie werden Sie mit Updates umgehen? Wenn Sie an Unternehmen / Behörden verkaufen möchten, müssen Sie den Enterprise-Rollout der Updates unterstützen.

Ken Henderson
quelle
4

Ja, in dem Sinne, dass die meisten Menschen, die mit Computern arbeiten, auf eine Internetverbindung zugreifen können (daher ist es wahrscheinlich in Ordnung, Fehlerbehebungen über einen Paketmanager oder FTP oder ähnliches zu verteilen).

Nein, in dem Sinne, dass die meisten Menschen nicht unbedingt den ganzen Tag über einen konsistenten, zuverlässigen und performanten Zugang zum Internet haben (daher ist es wahrscheinlich eine schlechte Idee, wenn jeder Ihrer Benutzer 20 MB / s konsistent herunterfährt. Außerdem fahren die Menschen regelmäßig mit Bussen und Flugzeuge, bei denen Ihnen so gut wie keine Konnektivität garantiert ist).

Inaimathi
quelle
2

Ich halte es für vernünftig anzunehmen, dass alle Benutzer die meiste Zeit oder zumindest zum Zeitpunkt der Installation über einen Internetzugang verfügen . Wenn ich jedoch meinen Laptop im Flugzeug, in einer Holzhütte oder auf einem Boot auf See mitnehme, erwarte ich alles, was offensichtlich keinen Internetzugang erfordert, um einwandfrei zu funktionieren.

Brant Bobby
quelle
3
Tatsächlich ist der Netzzugriff zum Zeitpunkt der Installation eine schlechte Annahme. Es ist nicht immer möglich oder zulässig, die Maschine, auf der Software ausgeführt werden muss, mit dem Internet zu verbinden. Daher ist es wichtig, dass jemand die erforderlichen Dateien mit einer anderen Maschine herunterlädt und sie dann manuell auf die Maschine überträgt, auf der sie installiert werden sollen.
Chris Stratton
1

Die Antwort ist natürlich, es kommt darauf an. Wenn Sie Software für eine Fabrik bauen, besteht eine gute Chance, dass sie keinen Internetzugang haben. Für Verbraucheranwendungen werden sie höchstwahrscheinlich.

Craig
quelle
1

Es ist möglicherweise nicht wünschenswert, eine Internetverbindung zu haben, wie dies bei Benutzern der Fall ist, die mein Pawnshop Management System (eine RDBMS-basierte Desktop-App) verwenden. Sie vertrauen einfach nicht darauf, dass das Internet mit demselben Computer verbunden ist, auf dem alle persönlichen Daten ihrer Kunden und die Transaktionen der Pfandhäuser gespeichert sind. Wenn sie auf das Web zugreifen möchten, verwenden sie einen separaten Computer, auf dem keine persönlichen Daten gespeichert sind!

Frank R.
quelle
0

Floating Licensing Server ist ein ähnliches Konzept. Ich habe unter AIX von IBM einen Compiler verwendet, der ständig mit einem Lizenzserver abgeglichen wurde. Es war also langsam und wir haben den Code endlich nach gcc portiert.

Es ist zerbrechlich und nervig. Ich denke, dass es nur für sehr teure Software von fast monopolistischen Unternehmen Sinn macht.

LennyProgrammierer
quelle