Поскольку Интернет в значительной степени повсеместен, можем ли мы, как разработчики, предполагать, что все пользователи имеют доступ к Интернету? Теперь я не имею в виду, что код написан таким образом, что при отсутствии соединения вся программа падает из-за отсутствия кода ошибки. Я имею в виду, могут ли программы сегодня разрабатываться в предположении, что их пользователи всегда будут иметь доступ к Интернету?
Вы можете спросить: «Что мы получим, если предположим, что?» Причина, по которой я спрашиваю, состоит в том, что в универе мы используем довольно много программ, которым требуется доступ к Интернету из-за того, как он проверяет лицензии (он проверяет ваш IP-адрес - если это не адрес в кампусе, то вы не разрешается использовать его). Обратите внимание, что сама программа должна нормально работать без доступа к Интернету; это просто необходимо для проверки лицензии.
РЕДАКТИРОВАТЬ: я говорю о настольных приложений здесь.
РЕДАКТИРОВАТЬ 2: Из некоторых ответов я чувствую, что меня обвиняют в неэтичной эксплуатации пользователей. Я не одобряю то, что я описал в этом вопросе - я просто спрашиваю об этом, потому что разработчики некоторых программ, которые мы используем в универе, сделали это. Лично я думаю, что делать это просто глупо и неправильно.
источник
Ответы:
Плохая идея по трем причинам. Во-первых, несмотря на то, что у всех есть доступ к Интернету в наши дни, что в принципе верно, они не всегда имеют его в наличии всегда. Моя основная машина - это ноутбук, и он большую часть времени подключен, но, к примеру, не в автобусе.
Во-вторых, и вроде как связано с первым, это ваш метод проверки. Что если студент получит законную копию программы, поместит ее на свой портативный компьютер и отправится учиться к другу, который живет за пределами кампуса? Вы только что добавили ложное срабатывание при проверке лицензии.
В-третьих, есть этическая проблема с проверкой лицензии в первую очередь. Если человек решает разместить программу на своем компьютере, вы не имеете права заставлять его компьютер считать его недействительным. В любом другом контексте, называемом хакерством, и это может привести к тому, что вы попадете во все виды горячей воды, и только потому, что наши авторские права были угнаны владельцами авторских прав, чтобы сделать юридическое исключение для этого случая в особом случае, это не делает его правильным ,
Обеспечение соблюдения закона - это работа правоохранительных органов, и частным лицам крайне не рекомендуется брать правоохранительные органы в свои руки (бдительность), потому что они склонны все делать неправильно. (Просто посмотрите на руткит Sony!)
Ваш лучший способ действий - предположить, что у пользователя есть доступ к Интернету для функций, которые на самом деле требуют его, но не требуют его для функций, которые могут обойтись без него, и, конечно, не требуют его просто для убеждения программы в том, что это не незаконная копия!
источник
Не у всех пользователей есть доступ к интернету. Например, за пределами малых и средних городов (и их пригородов) и университетских городов в США почти нет широкополосной инфраструктуры. Небольшие городские и сельские пользователи, как правило, пользуются спутниковой или коммутируемой связью (и их телефонные линии не всегда являются лучшими, поэтому скорость соединения обычно ниже 50 к / с).
Пользователи с хорошим доступом в Интернет дома / в офисе часто работают в других местах: в парках, самолетах, кафе, конференц-залах и т. Д., Которым обычно не хватает надежного доступа в Интернет.
Многие пользователи инвестируют в резервное питание по определенной причине: поэтому они не испытывают простоев во время отключений. Если вы наносите вред своему приложению, когда интернет отключается, вы просто лишаете их этих инвестиций.
Сбой подключения к Интернету, интернет-провайдеры (или рабочие места, или университеты) блокируют трафик по собственному желанию, домашние пользователи неправильно конфигурируют свои NAT ... просто глупо создавать искусственную (то есть не техническую следствие создания вещи) точку отказа в вашем программном обеспечении.
Одних вышеперечисленных причин более чем достаточно, чтобы не использовать модель DRM «позвони домой»; но даже если бы ни один из них не был правдой, я бы все же советовал против этого, потому что, как Мейсон уже пытался указать, этически неправильно эксплуатировать ваших пользователей таким образом.
Вы не можете раскрывать информацию о своих пользователях только ради собственного разума. Вы не имеете права контролировать, когда и откуда они используют ваше программное обеспечение. Подобные действия нарушают доверие ваших пользователей.
источник
Нет!
Все программы должны рассматривать доступ к Интернету в качестве наилучшего сценария с резервным режимом, когда компьютер может быть не подключен.
С таким количеством ноутбуков и с тем, что большинство общественных беспроводных сетей по-прежнему остаются платными, большинство пользователей ноутбуков будут регулярно сталкиваться с условиями, когда им нужно использовать свой компьютер и свои программы без подключения к Интернету. ,
Как и другие ответы, также можно предположить, что компьютер будет подключен в будущем. Многие приложения типа синхронизации, имеющие автономный режим, работают таким образом. Но, из вежливости по отношению к пользователям, не работайте таким образом, если это не услуга для пользователя . Я не думаю, что проверка лицензии попадает в эту категорию.
источник
нет
Исключая веб-приложения, настольное приложение не должно думать, что оно имеет доступ к Интернету.
источник
Короткая версия НЕТ, вы не можете предполагать, что все пользователи имеют доступ к Интернету. Как уже упоминалось, есть большое количество людей с ограниченным доступом к Интернету или вообще без него.
Ваша схема лицензирования должна быть в состоянии справиться со случаем, когда компьютер, на котором будет работать программное обеспечение, никогда не будет иметь доступа к Интернету. Для корпораций не так уж необычно иметь сети, которые изолированы от Интернета (особенно когда речь идет о проблемах безопасности). Это особенно верно, если вы когда-нибудь захотите иметь возможность продавать программное обеспечение государственному органу. Другая сторона, как вы будете обрабатывать обновления? Если вы захотите продать корпорации / правительству, вам придется поддержать развертывание обновлений на предприятии.
источник
Да, в том смысле, что большинство людей, работающих с компьютерами, могут получить доступ к интернет-соединению (так что, вероятно, нормально распространять исправления ошибок через менеджер пакетов или FTP или подобное).
Нет, в том смысле, что большинству людей не обязательно иметь постоянный, надежный и эффективный доступ к Интернету в течение всего дня (поэтому допущение, что каждый из ваших пользователей может постоянно снижать скорость до 20 Мбит / с, вероятно, является плохой идеей. Люди также периодически используют шины и самолеты, где вам почти гарантировано отсутствие связи).
источник
Я думаю, что разумно предположить, что все пользователи будут иметь доступ в Интернет большую часть времени или, по крайней мере, во время установки. Однако, если я возьму свой ноутбук с собой в самолет, в каюту в лесу или на лодку в море, я ожидаю, что все, что явно не требует доступа в Интернет, будет работать нормально.
источник
Ответ, конечно, зависит. Если вы создаете программное обеспечение для заводского цеха, есть большая вероятность, что у них не будет доступа в Интернет. Для потребительских приложений они, скорее всего, будут.
источник
Может быть нежелательно иметь подключение к Интернету, как в случае пользователей, которые используют мою систему управления Pawnshop (настольное приложение на основе RDBMS). Они просто не верят в то, что Интернет подключен к одному и тому же компьютеру, на котором хранится личная информация всех клиентов и транзакции в ломбардах. Если они хотят получить доступ к Интернету, они используют отдельный компьютер, на котором нет личной информации!
источник
Плавающий сервер лицензирования является аналогичной концепцией. Я использовал компилятор в IBM AIX, который постоянно проверялся на сервере лицензирования. Таким образом, это было медленно, и мы наконец перенесли код в gcc.
Это хрупко и раздражает. Я думаю, что это имеет смысл только для очень дорогого программного обеспечения почти монополистическими компаниями.
источник