https://mp.weixin.qq.com/s/6nRYmn6gAWFLg3mUIN_ojg

TIPS

近日在个人技术讨论QQ群里,谈论到IDEA的那些事儿。有童鞋居然在某电商网站花钱买激活码。我觉得是助纣为虐(自己用盗版就算了,花钱养卖盗版感觉很无语),遂有此文。

其实IDEA是可以免费使用的。

IDEA是个人最喜欢的IDE,它非常智能,懂我的心,极大地提高了个人编程效率;让人爱不释手,欲罢不能。

然而,这是一款收费软件,价格不菲。IDEA价目详见:https://www.jetbrains.com/idea/buy/#commercial?billing=yearly 。

本文教大家如何 免费,并且 光荣地 使用 正版 IntelliJ IDEA。

IDEA免费开源协议

在 https://www.jetbrains.com/community/opensource/ ,IDEA有一个开源免费协议。简单翻译一下。

申请条款

•您必须是项目负责人或常规提交者。•您的OS项目符合 开源定义[1] 。•您的操作系统项目可能不提供付费赞助,或从商业公司或组织(非政府组织,教育,研究或政府)获得资金。您不得为您的操作系统项目提供任何付费支持,咨询或培训服务,也不得分发您的操作系统软件的付费版本。获得该项目工作报酬的贡献者不符合资格。•您的OS项目正在积极开发至少3个月。•您的OS项目社区处于活动状态。•您定期发布更新的版本。

许可条款

•许可证提供1年,并允许在1年内免费升级软件的所有新版本。•如果您的项目仍满足要求,可根据要求提供许可证续订。•一个许可证可以安装在任意数量的计算机上,但不能在两个或更多计算机上同时使用。•许可证仅提供给核心团队开发人员。

许可限制

•许可证仅可用于非商业OS开发。请考虑购买单独的许可证以处理商业项目。•该软件的使用仅限于许可用户,无权将软件转让给任何第三方。

有关完整的详细信息,请查看开源项目[2]的许可协议[3]

申请免费使用

申请门槛

从协议不难看出,你只需在GitHub上准备一个维护超过3个月的项目开源项目,就可以免费使用IDEA 1年了,1年到期后,可以按照此步骤再申请一次。

这是一个良好的闭环:

•有开源项目,所以能申请免费使用IDEA;•有了IDEA神器,又可以更好地维护开源项目……

申请

到 https://www.jetbrains.com/shop/eform/opensource?product=ALL 即可提交申请。

点击 APPLY FOR FREE LICENSES 按钮,即可看到类似如下的界面:

收取激活码

1 等待1天左右,即可前往申请时填写的邮箱,即可收到激活码了。

2 点击图中的链接,即可进入协议界面,点击 ACCEPT ,即可看到类似如下的界面:

3 点击图中的链接,并按照提示操作,注册一个账号,或者如果你已经有Jetbrains账号,就直接登录。这一步主要是让你的Jetbrains账号和Liscence绑定。

4 将激活码填入如下界面即可激活IDEA:

5 激活后的效果:

可以看到,已经成功激活了。未来过期后,依照本次操作再执行一次即可。当然我本机电脑还没有升级到2019.2,这个无妨。你可以先升级,再激活;也可以先激活再升级。

https://mp.weixin.qq.com/s/6nRYmn6gAWFLg3mUIN_ojg

分享:手把手教你如何免费且光荣地使用正版IntelliJ IDEA的更多相关文章

  1. 【技术分享】手把手教你使用PowerShell内置的端口扫描器

    [技术分享]手把手教你使用PowerShell内置的端口扫描器 引言 想做端口扫描,NMAP是理想的选择,但是有时候NMAP并不可用.有的时候仅仅是想看一下某个端口是否开放.在这些情况下,PowerS ...

  2. 手把手教你如何利用 HeroKu 免费获取一个 Scrapyd 集群

    手把手教你如何利用 HeroKu 免费获取一个 Scrapyd 集群 本文原始地址:https://sitoi.cn/posts/48724.html 准备环境 一个 GitHub 的账号 一个 He ...

  3. 手把手教你如何安装Pycharm

    手把手教你如何安装Pycharm——靠谱的Pycharm安装详细教程     今天小编给大家分享如何在本机上下载和安装Pycharm,具体的教程如下: 1.首先去Pycharm官网,或者直接输入网址: ...

  4. 手把手教你做个人 app

    我们都知道,开发一个app很大程度依赖服务端:服务端提供接口数据,然后我们展示:另外,开发一个app,还需要美工协助切图.没了接口,没了美工,app似乎只能做成单机版或工具类app,真的是这样的吗?先 ...

  5. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置

    前言 有朋友问了我关于博客系统搭建相关的问题,由于是做开发相关的工作,我给他推荐的是使用github的gh-pages服务搭建个人博客. 推荐理由: 免费:github提供gh-pages服务是免费的 ...

  6. 手把手教你接口自动化测试 – SoapUI & Groovy

    手把手教你接口自动化测试 – SoapUI & Groovy http://www.cnblogs.com/wade-xu/p/4236295.html 关键词:SoapUI接口测试,接口自动 ...

  7. 手把手教你如何搭建iOS项目基本框架

    手把手教你如何搭建iOS项目基本框架 今天我们来谈谈如何搭建框架,框架需要做一些什么. 第一步:找到我们的目标我们的目标是让其他开发人员拿到手后即可写页面,不再需要考虑其他的问题. 第二步:我们需要做 ...

  8. iOS 非ARC基本内存管理系列 -手把手教你ARC——iOS/Mac开发ARC入门和使用(转)

    手把手教你ARC——iOS/Mac开发ARC入门和使用 Revolution of Objective-c 本文部分实例取自iOS 5 Toturail一书中关于ARC的教程和公开内容,仅用于技术交流 ...

  9. 只有20行Javascript代码!手把手教你写一个页面模板引擎

    http://www.toobug.net/article/how_to_design_front_end_template_engine.html http://barretlee.com/webs ...

随机推荐

  1. 利用Jenkins打包并远程部署NodeJS应用

    本文Jenkins版本2.190.2,为19年11月最新 1.安装Jenkins.Git和NodeJS Jenkins安装参考:https://www.cnblogs.com/zhi-leaf/p/1 ...

  2. fiddler抓包-1-安装与快速上手

    前言 fiddler作为一个中间商协议代理,众所周知,有请求就会有响应,那没有响应呢?那就是哪个环节出现问题了.通过代理就可以查看到所有请求信息.与响应信息.举个例子,以前上学时有没有写过情书?或者给 ...

  3. JAVA Api 调用Hbase报错锦集

    1. 报错 java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/protobuf/generated/MasterProtos$Master ...

  4. springboot 获取到的inputStream为空的问题

    springboot在接收http请求的时候读取的request的inputStream,造成我们想自己读取inputStream的时候发现inputStream已经无法读取了. 为了读取inputS ...

  5. Apache Commons 简介

    Apache Commons 由多个独立发布的软件包组成,此页面提供了当前可用的 Commons 组件的概述. Components BCEL 字节码工程库 - 分析,创建和操作 Java 类文件. ...

  6. angular 监听离开页面执行相关操作

    $scope.$on("$destroy", function() { //...})

  7. Spring IOC 复习

    Inversion of Control 将创建对象的权利交给框架,包括DI(Dependency Injection,依赖注入)和DL(Dependency Lookup,依赖查找),能削减计算机程 ...

  8. 基于YOLO3对图像加框的函数draw_image()

    def draw_bbox(image, bboxes, class_i, show_label=True): # 将中心点坐标与w,h通过变化为左上角与右下角坐标 bboxes_change = n ...

  9. python机器学习---线性回归案例和KNN机器学习案例

    散点图和KNN预测 一丶案例引入 # 城市气候与海洋的关系研究 # 导包 import numpy as np import pandas as pd from pandas import Serie ...

  10. kkpager 实现ajax分页查询

    前台分页数据,适合数据少量的时候,因为分页的数据是从后台获取的,大数据的话不建议使用 现看前台代码: @{ Layout = null; } <!DOCTYPE html> <htm ...