Como Internet es bastante ubicuo, ¿podemos nosotros como desarrolladores asumir que todos los usuarios tienen acceso a Internet? Ahora no quiero decir que el código esté escrito de tal manera que si no hay conexión, todo el programa falla debido a la falta de código de error. Lo que quiero decir es, ¿pueden los programas de hoy desarrollarse bajo el supuesto de que sus usuarios siempre tendrán acceso a Internet?
Usted puede preguntar "¿Qué ganamos al asumir eso?" La razón por la que pregunto es porque en la universidad utilizamos bastantes programas que requieren acceso a Internet debido a la forma en que verifica las licencias (verifica su dirección IP; si no es una dirección en el campus, entonces usted es no está permitido usarlo). Tenga en cuenta que el programa en sí debería funcionar bien sin acceso a Internet; solo es necesario para verificar la licencia.
EDITAR: estoy hablando de aplicaciones de escritorio aquí.
EDIT2: De algunas de las respuestas tengo la sensación de ser acusado de explotar a los usuarios de manera poco ética. Estoy no refrendar lo que he descrito en esta pregunta - Sólo estoy preguntando al respecto porque los desarrolladores de algunos de los programas que utilizamos en la universidad han hecho esto. Personalmente, creo que hacer esto es simplemente estúpido e incorrecto.