前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >嫌学校App太“烂”,极客父母做了开源版本,却遭官方报警?

嫌学校App太“烂”,极客父母做了开源版本,却遭官方报警?

作者头像
养码场
发布于 2021-11-23 03:12:55
发布于 2021-11-23 03:12:55
3860
举报
文章被收录于专栏:养码场养码场

众所周知,校园管理系统大多Bug满满,且无比卡顿。其中有部分原因是学校IT预算有限,导致系统优化不够完善。

但你能想到吗,有一个花费7.5亿元研发资金的校园系统,菜单栏竟然没办法打开。

近日,据外媒Wired报道,几位瑞典家长因嫌弃官方耗费巨资打造的校园系统太“烂”,决定自己开发一款开源替代软件,结果该开源App却被官方认为非法访问个人信息,并对这些家长提起诉讼。

01

耗资7.5亿打造的"无用"系统

据悉,该系统名为Skolplattform,是瑞典政府花费了超过10亿瑞典克朗(约7.5亿人民币)打造的,于2013年正式投入使用。

Skolplattform由三个不同的部分组成,包含18个单独的模块,由5个外部公司共同维护。这个系统已经被600所幼儿园和177所学校所使用,每个老师、学生和家长都有独立的登录账号。该平台原先是用来连接全市的50万名儿童、教师和家长,方便学生家长通过这个平台,查看自家孩子出勤状况、学校日历和活动、音乐会、自助餐厅供应的食物等。

不过令许多家长感到愤怒的是,尽管该系统花费高昂,但未能达到其最初设计的目标。很多家长和老师都抱怨Skolplattform实际使用效果并不好,抱怨该系统不仅复杂性,还非常卡顿。于是他们纷纷在安卓应用商店上抵制Skolplattform,因此Skolplattform在安卓应用商店里平均得分仅有1.2星(满分为5星)。

此前有一个家长还曾在推特上发了印有“Skrota Skolplattformen”字样的帽子设计图,暗讽"Skolplattformen垃圾",他还开玩笑说他应该在接孩子放学时戴上这顶帽子。

除此之外,Skolplattform身上还有"IT灾难"的标签。据了解,在2020年瑞典数据监管机构就发现Skolplattform存在严重的安全漏洞,对其处以400万瑞典克朗(约合人民币近300万)的高额罚款。该漏洞不仅会暴露数十万家长、儿童和教师的个人信息数据,甚至某些情况下,用户还可以通过Google搜索访问泄露者的个人信息,不过目前该漏洞已修补。

02

极客父母自己动手

直到2020年10月23日,那位发推特暗讽Skolplattform垃圾的家长实在无法忍受继续使用Skolplattformen,他决定亲自动手开发一个简单易用的App。据了解这位家长名为Landgren,是瑞典一家知名公司的CEO。

于是在接下来的几周里,除了Landgren ,还有另外两名家长Johan Öbrink和Erik Hellman也参与到这个工作中。他们三人首先制定了一个计划,他们将创建Skolplattform的开源版本Öppna Skolplattform,并将其作为应用程序发布在网上,供斯德哥尔摩其他地方的父母使用。

然后该团队打开Chrome开发者工具,登录Skolplattform,并记下其中所有URL和有效负载,获取了调用平台私有API的代码并构建了应用包,以便该程序可以在手机上运行。最终于2021年2月12日Öppna Skolplattform被发布在GitHub(https://github.com/kolplattformen/skolplattformen)上,Landgren开发团队表示,他们对Skolplattform平台的API进行了逆向工程,Öppna Skolplattform所有的代码均遵循开源许可条例,允许任何人使用这些代码,并强调Öppna Skolplattform将为父母和监护人创造更简单、更快和更安全的体验。

来源于网络

03 官方封锁打压

尽管Landgren开发程序出发点是善意的,但是Landgren等人行为并不被官方认可。

在接下来的八个多月时间里,斯德哥尔摩市政府都在试图关闭这一开源应用程序,同时官方还警告家长们不要使用这款替代应用,表示该应用可能会非法访问人们的个人信息。此外官方还向数据保护机构报告了该应用程序,要求调整Skolplattform平台的底层代码,以中断应用程序的服务,但是Öppna Skolplattform开发团队并未屈服,他们也通过更新版本反击官方“封锁”,据悉在今年3月份Öppna Skolplattform更新高达7次之多。

直到今年4月份,斯德哥尔摩市宣布将让警方介入,警方声称该应用程序及其联合创始人可能存在泄露数据等违法犯罪行为,还要求调查人员审查该应用程序的工作原理。

虽然面临官方封锁打压,但是Öppna Skolplattform的受欢迎程度一直上升,其下载量突破了12500次,平均评分为4.2,远高于Skolplattform的1.2。Landgren表示:“目前有40多人致力于维护和开发这款应用程序,这群"志愿者们”不仅发现开源系统Bug,还开发了搜索功能,并将应用程序翻译成不同的语言版本。“

值得注意的是,这款新应用除了比使用Skolplattform更加方便以外,两者之间没有任何的区别。家长们还是需要使用Skolplattform账号登录,然后家长依旧可以通过Skolplattform API查看的孩子的信息,比如学校日历和活动、音乐会、学生的每日日程安排、教师的通知(链接到成绩和新闻更新)、自助餐厅供应的食物等。

来源于网络

对于这些信息是否违规,”Öppna Skolplattformen的联合创始人之一Öbrink 解释说:“我们展示的一切都是公开的公共信息。比如当显示学生的成绩时,它们是通过应用程序内浏览器显示的,应用程序无法访问任何数据。”

Öbrink 还强调,Öppna Skolplattformen团队曾与市政府举行了会议,允许官员在会议上获取他们的代码并使用他们的应用程序版本。但是那些官员不想与他们合作,甚至不想与他们讨论合作,他们只希望警方能‘惩罚"我们。

令人意外的的是,今年8月份,斯德哥尔摩市警方宣布Öppna Skolplattformen使用的所有信息都是公开信息,未对用户隐私构成威胁。9月,斯德哥尔摩市政府也发布声明表示,Öppna Skolplattformen可以建立许可证,相当于对它已经认可了。不过这个消息让Landgren感到十分震惊,因为在政府宣布该声明不久前,Skolplattformen还再次阻止了Öppna Skolplattformen的访问。

对此,事件主人公Landgren依旧认为官方应该开放他们的API,以便公民可以构建适合他们的应用程序。同时他还希望到别的城市推广这款软件,从而帮助更多的家长都能使用这款App。

参考链接:

https://www.wired.com/story/sweden-stockholm-school-app-open-source/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 养码场 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Java基础学习(3)
Java当中导入包语句 import 包含 + 类名 包名+类名组成了完整的包路径
爱学习的小超人
2022/11/14
4150
Java基础学习(3)
Java学习笔记(二):常用API总结
API(Application Programming Interface),应用程序编程接口。Java API是一本程序员的 字典 ,是JDK中提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。
foochane
2020/02/13
1.3K0
Java IO学习笔记一
文章目录 1. Java IO学习笔记一 1.1. File 1.1.1. 构造函数 1.1.1.1. 实例 1.1.2. 常用方法 1.1.2.1. 字段 1.1.2.2. 方法摘要 1.2. 实例 1.2.1. 创建文件 1.2.2. 创建文件夹 1.2.3. 列出全部文件 1.2.3.1. list 1.2.3.2. listFiles 1.3. 参考文章 Java IO学习笔记一 File File是文件和目录路径名的抽象表示形式,总的来说就是java创建删除文件目录的一个类库,但是作用不仅仅
爱撒谎的男孩
2019/12/31
3000
Java IO流(最精美 最全)
常用方法: createNewFile 如果不存在才会创建,是创建的文件 mkdir 是创建的文件夹 mkdirs 可以创建多层 的文件夹 boolean exists() 测试此抽象路径名表示的文件或目录是否存在。 File getAbsoluteFile() 返回此抽象路径名的绝对路径名形式。 String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。 boolean delete() 删除此抽象路径名表示的文件或目录。//注意:这个删除,不走回收站,直接删除 File[] listFiles(FileFilter filter) 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。 boolean isDirectory() 测试此抽象路径名表示的文件是否是一个目录。 boolean isFile() 测试此抽象路径名表示的文件是否是一个标准文件。 static File[] listRoots() 列出可用的文件系统根。 long length() 返回由此抽象路径名表示的文件的长度。字节数 String getPath() 将此抽象路径名转换为一个路径名字符串。 String getName() 返回由此抽象路径名表示的文件或目录的名称。 String getParent() 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。 File getParentFile() 返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null。 File[] listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。//返回路径全名 推荐 File[] listFiles(FileFilter filter) 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。 File[] listFiles(FilenameFilter filter) 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
编程张无忌
2021/01/26
3270
Java IO流(最精美 最全)
Java成神路 —— 文件操作
1.1 File 类概述和构造方法 1. File 类介绍 它是文件和目录路径名的抽象表示 文件和目录是可以通过 File 封装成对象的 对于 File 而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的 2. File 类的构造方法 方法名 说明 File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的 File 实例 File(String parent, Strin
繁依Fanyi
2023/05/07
1700
Java基础系列8——IO流超详细总结
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架。
说故事的五公子
2020/01/02
1.5K0
Java基础总结大全(4)
最新通知 ●回复"每日一练"获取以前的题目! ●【新】Android视频更新了!(回复【安卓视频】获取下载链接) ●【新】Ajax知识点视频更新了!(回复【学习视频】获取下载链接) ●【新】HTML5知识点视频更新了!(回复【前端资料】获取下载链接) ●答案公布时间:为每期发布题目的第二天 ★【新】回复“测试题”获取昨天发布的软件工程师初级阶段测试题答案 ★【新】回复“学习资料”获取java学习电子文档 ★【新】需要求职简历模板的可以加小编微信xxf960513 聊天系统 ●我希望大家积极参与答题!有什么不
Java学习
2018/04/16
9970
21天学习挑战赛之java的IO流
​ 把“E:\itcast\窗里窗外.txt”复制到模块目录下的“窗里窗外.txt” (文件可以是任意文件)
楠羽
2022/11/18
3580
文件操作(File类等)API摘要[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140679.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/01
8520
【Java_18】文件流
一、File 类 1. 构造方法 * public File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。 * public File(String parent, String child) 从父路径名字符串和子路径名字符串创建新的 File实例。 * public File(File parent, String child) 从父抽象路径名和子路径名字符串创建新的 File实例。 2. 常用方法 * Strin
用户8250147
2021/02/04
6160
第53节:Java当中的IO流(上)
标题图 Java当中的IO流 在Java中,字符串string可以用来操作文本数据内容,字符串缓冲区是什么呢?其实就是个容器,也是用来存储很多的数据类型的字符串,基本数据类型包装类的出现可以用来解决字
达达前端
2019/07/03
5640
第53节:Java当中的IO流(上)
Java之流-文件(File)
Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。
用户5224393
2019/08/20
1.1K0
Java之流-文件(File)
Java学习笔记之File&递归&字节流
    对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径而已,它可以是存在的,也可以是不存在的,将来是要通过具体的操作把这个路径的内容转换为具体存在的
Jetpropelledsnake21
2021/12/31
2620
Java学习笔记之File&递归&字节流
[二] JavaIO之File详解 以及FileSystem WinNTFileSystem简介
1.可选的与系统有关的前缀  字符串   比如盘符,"/" 表示 UNIX 中的根目录,"\\\\" 表示 Microsoft Windows UNC 路径名
noteless
2018/09/11
2.6K0
[二] JavaIO之File详解  以及FileSystem  WinNTFileSystem简介
File类
3. 通过parent 路径名字符串和 child 路径名字符串创建新 File 实例
桑鱼
2020/04/23
7350
JavaSE笔记
注意:字节缓冲流仅仅提供缓冲区,而真正的读写数据还是得依靠基本得字节流对象进行操作
菜鸟雷
2020/10/23
1.4K0
JavaSE笔记
Java之IO流技术详解
我们可以将这个整个看成一个水池。水池里面连接了出水口管与注水管。出水相当于我们的输出流。注水相当于我们的输入流。
JanYork_简昀
2022/04/12
4260
Java之IO流技术详解
《JavaSE-第十四章》之文件(一)
如键盘,电脑需要读取用户从键盘上输入的东西,就是将键盘抽象成文件,读取该文件就能获取到用户的输入。
用户10517932
2023/10/07
1640
《JavaSE-第十四章》之文件(一)
java基础知识02
1、String字符串: 字符串一旦被初始化,就不可以被改变,存放在方法区中的常量池中。用length()方法获取长度。
贪挽懒月
2018/12/05
5710
java基础知识02
从File类开始,学习Java文件操作
今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。
喵手
2023/11/21
3090
从File类开始,学习Java文件操作
相关推荐
Java基础学习(3)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档