《软件著作权》申请流程、常见缺陷、补正通知、鉴别材料和实际案例详解

目录

1、什么是软件著作权,为什么要申请软件著作权?

2、申请软著需要什么材料

3、如何开始申请软著?

3.1、注册账号 

3.2、软著申请

3.3、程序鉴别材料与文档鉴别材料排版要求

3.4、提交盖章页

4、常见缺陷和补正通知

5、申请完成

6、感谢支持


1、什么是软件著作权,为什么要申请软件著作权?

软件著作权是指对软件作品的创作权利的法律保护。具体来说,它是指对计算机程序、软件代码及相关文档的著作权。著作权法通常将软件作品视为文学作品的一种,因此软件作者或开发者可以根据相关法律规定享有软件著作权。

申请软件著作权的主要目的包括以下几点:

  1. 法律保护:软件著作权的申请可以确保软件作者对其作品享有合法权益。一旦获得软件著作权,作者就能够依法追究侵权者的责任,并获得相应的法律保护。

  2. 商业利益:获得软件著作权可以为软件作者带来商业利益。在市场竞争中,拥有著作权的软件更具有竞争优势,因为它们可以通过法律手段保护自己的创新和独特功能,防止他人未经授权复制或篡改。

  3. 增强信誉:软件著作权的申请也可以增强软件作者的信誉。在申请著作权的过程中,作者必须提供详细的文档和说明,证明其作品的原创性和独特性,这有助于树立作者在行业内的良好声誉。

  4. 合作交流:著作权申请过程中,作者需要清晰地记录软件的功能、特点和设计,这有助于与其他开发者、合作伙伴或投资者进行交流和合作。

因此,申请软件著作权是保护软件作者合法权益、维护创新和商业利益的重要手段。

2、申请软著需要什么材料

  1. 公司申请需要营业执照副本(复印件也可以),个人申请需要个人身份证复印件
  2. 软件说明书: 这是对软件的详细描述,包括软件的功能、特点、使用方法等。
  3. 前后各30页源代码(超出没事)(微软雅黑、字体大小10、每页不低于50行,行间距固定值设为13磅)
  4. 申请书,需签字盖章

3、如何开始申请软著?

3.1、注册账号 

首先你需要前往中国版权中心官网,进行注册。(点击链接跳转)

进入登录页首页点击注册账号

我这边是机构账号注册,个人注册也没太大区别,主要是实名认证的时候要认真!!

注册完成之后,先到用户中心,账号管理里面进行实名认证,需要你提供你的身份证正反面以及手拿身份证人像面的图片。如果你刚才注册的是机构的话,还需要营业执照,还有授权书(需要盖章)。

上传的材料照片信息需要清晰明确,一定要按照系统提示来做,不然不通过很浪费时间,通常24小时至72小时后即可查看结果。

授权书系统里有模板,下载填写后盖章扫描成PDF上传。
实名认证步骤到此为止(还有问题可以留言,看到一定回复)。

3.2、软著申请

一旦完成账号注册并成功进行实名认证,您即可开始进行软件著作权申请。首先,登录中国版权保护中心的著作权登记系统,在页面中找到计算机软件著作权相关登记选项。点击进入界面,选择R11——计算机软件著作权登记申请,并点击立即登记。进入下一步界面后,您将看到以下几个步骤。

 

 请注意图中文字说明!

 软件开发信息需要根据实际情况填写

 软件功能与特点根据实际填写就好了,自己语言不好描述的话可以ChatGPT上让它帮你润色一下,以下是我的填写情况,供您参考!

3.3、程序鉴别材料与文档鉴别材料排版要求

*提交程序鉴别材料与文档鉴别材料

提交程序鉴别材料与文档鉴别材料一定是pdf

源程序排版要求:

  1. 页眉为软件名称+版本号,页码页面居中就行。
  2. 代码3000行以下全部提交。3000行以上取前后各30页,第一页为代码开头,最后一页为明显的代码结尾,页码连续编1~60。
  3. 每页50行以上,建议13磅固定值行距,字体为5号,设置13磅每一页就有53行,有多余的空格一定要注意删掉。

在鉴别材料中,请确保没有著作权人以外的名字出现,也不要包含网址、商标等信息。测试数据请使用虚构数据,避免使用实际数据。在截图中,名称、版本号和申请内容需保持一致,以避免后续补正的情况发生

 以下是我申报的代码实例,供你们参考

<?php

namespace App\Api\Controllers;

use App\Api\Foundation\Controllers\Controller;
use App\Models\UserAccount;
use App\Models\Users;
use App\Models\UsersReal;
use App\Repositories\Common\BaseRepository;
use App\Repositories\Common\DscRepository;
use App\Repositories\Common\TimeRepository;
use App\Services\Payment\PaymentService;
use App\Services\User\UserService;
use Exception;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Validation\ValidationException;
use App\Repositories\Common\StrRepository;

/**
 * Class AccountController
 * @package App\Api\Controllers
 */
class AccountController extends Controller
{
    protected $config;
    protected $userService;
    protected $paymentService;
    protected $dscRepository;

    public function __construct(
        UserService $userService,
        PaymentService $paymentService,
        DscRepository $dscRepository
    )
    {
        $this->userService = $userService;
        $this->paymentService = $paymentService;
        $this->dscRepository = $dscRepository;
    }

    protected function initialize()
    {
        parent::initialize();
        //加载外部类
        $files = [
            'clips',
            'common',
            'time',
            'main',
            'order',
            'function',
            'payment',
            'base',
        ];

        load_helper($files);

        //加载语言包
        $this->dscRepository->helpersLang('user');
    }

    /**
     * 账户概要
     * @param Request $request
     * @return JsonResponse
     * @throws Exception
     */
    public function index(Request $request)
    {
        $user_id = $this->authorization();

        if (empty($user_id)) {
            return $this->setErrorCode(12)->failed(lang('user.not_login'));
        }

        //会员账户信息
        $user_account = get_row_user_account($user_id);
        $user_account['user_balance_withdrawal'] = config('shop.user_balance_withdrawal') ?? 1;  // 会员余额提现设置项
        if ($user_account) {
            $user_account['value_card']['use_value_card'] = config('shop.use_value_card');
        }
        $user_account['user_balance_recharge'] = config('shop.user_balance_recharge') ?? 1;  // 会员余额充值设置项
        return $this->succeed($user_account);
    }

    /**
     * 申请记录
     * @param Request $request
     * @return JsonResponse
     * @throws Exception
     */
    public function replylog(Request $request)
    {
        $page = (int)$request->get('page', 1);

        $user_id = $this->authorization();

        if (empty($user_id)) {
            return $this->setErrorCode(12)->failed(lang('user.not_login'));
        }

        /* 获取记录条数 */
        $record_count = UserAccount::where('user_id', $user_id)->whereIn('process_type', [SURPLUS_SAVE, SURPLUS_RETURN])->count();

        //分页函数
        $pager = get_pager('user.php', ['act' => 'account_log'], $record_count, $page);

        $account_log = $this->userService->getAccountLog($user_id, $pager['size'], $pager['start']);

        return $this->succeed($account_log);
    }

    /**
     * 账户明细
     * @param Request $request
     * @return JsonResponse
     * @throws Exception
     */
    public function accountlog(Request $request)
    {
        $page = (int)$request->input('page', 1);
        $size = (int)$request->input('size', 10);
        $order_sn = $request->input('order_sn', '');
        $month = $request->input('month', 0);

        $user_id = $this->authorization();

        if (empty($user_id)) {
            return $this->setErrorCode(12)->failed(lang('user.not_login'));
        }

        // //获取余额记录
        $account_log = $this->userService->userMoneyAccountLogList($user_id, $page, $size, $order_sn, $month);

        return $this->succeed($account_log);
    }

    /**
     * 资金提现
     * @param Request $request
     * @return JsonResponse
     * @throws Exception
     */
    public function reply(Request $request)
    {
        $user_id = $this->authorization();
        if (empty($user_id)) {
            return $this->setErrorCode(12)->failed(lang('user.not_login'));
        }

        //提现类型 0 银行卡  1 微信/支付宝
        $withdraw_type = (int)$request->input('withdraw_type', 0);

        $usersReal = [];
        if (empty($withdraw_type)) {
            // 检测是否实名认证
            $usersReal = UsersReal::where('user_id', $user_id)->where('user_type', 0);
            $usersReal = BaseRepository::getToArrayFirst($usersReal);

            $res['code'] = 0;
            if (empty($usersReal)) {
                $res['code'] = 1;
                $res['msg'] = $GLOBALS['_LANG']['16_no_users_real_desc'];
                return $this->succeed($res);
            }

            if ($usersReal['review_status'] != 1) {
                $res['code'] = 2;
                $res['msg'] = $GLOBALS['_LANG']['16_users_real'] . $GLOBALS['_LANG']['is_confirm'][$usersReal['review_status']];
                return $this->succeed($res);
            }
        }

        // 获取剩余余额
        $surplus_amount = get_user_surplus($user_id);
        if (empty($surplus_amount)) {
            $surplus_amount = 0;
        }

        $res['buyer_cash'] = (int)config('shop.buyer_cash');

        if (empty($withdraw_type)) {
            // 组装提现卡号,二维数组便于模板循环
            $bank = [
                [
                    'bank_name' => $usersReal['bank_name'] ?? '',
                    'bank_card' => $usersReal && $usersReal['bank_card'] ? substr($usersReal['bank_card'], 0, 4) . '******' . substr($usersReal['bank_card'], -4) : '',
                    'bank_region' => $usersReal['bank_name'] ?? '',
                    'bank_user_name' => $usersReal['real_name'] ?? '',
                    'bank_card_org' => $usersReal['bank_card'] ?? '',
                    'bank_mobile' => $usersReal['bank_mobile'] ?? '',
                ]
            ];
            $res['bank'] = $bank;
        }
        $res['surplus_amount'] = $surplus_amount;
        $res['deposit_fee'] = (float)config('shop.deposit_fee', 0); // 提现手续费比例

        /* 获取记录条数 */
        $res['record_count'] = UserAccount::where('user_id', $user_id)->whereIn('process_type', [SURPLUS_SAVE, SURPLUS_RETURN])->count();
        $res['page_title'] = 'account_user_repay';
        $res['code'] = 0;

        return $this->succeed($res);
    }

    /**
     * 账户充值
     * @param Request $request
     * @return JsonResponse
     * @throws Exception
     */
    public function deposit(Request $request)
    {
        $user_id = $this->authorization();

        if (empty($user_id)) {
            return $this->setErrorCode(12)->failed(lang('user.not_login'));
        }

        $surplus_id = (int)$request->input('id', 0);

        $account = get_surplus_info($surplus_id, $user_id);

        $res = [
            'payment' => $this->paymentService->availablePaymentList(0, 0, 1),
            'page_title' => 'account_user_charge'
        ];
        if (!empty($account)) {
            $res['order'] = $account;
            $res['process_type'] = $surplus_id;
        }

        return $this->succeed($res);
    }

    /**
     * 充值提现操作
     * @param Request $request
     * @return JsonResponse
     * @throws ValidationException
     */
    public function account(Request $request)
    {
        //数据验证
        $this->validate($request, [
            'amount' => 'required|numeric',
            //'payment_id' => 'required|integer',
        ]);

        $payment_id = (int)$request->input('payment_id', 0);
        $user_note = addslashes($request->input('user_note', ''));
        $amount = floatval($request->input('amount', 0));
        $rec_id = (int)$request->input('rec_id', 0);
        $surplus_type = (int)$request->input('surplus_type', 0); // 操作类型:0为充值,1为提现

        $res['code'] = 0;

        $user_id = $this->authorization();
        if (empty($user_id)) {
            return $this->setErrorCode(12)->failed(trans('user.not_login'));
        }

        // 用户不存在返回
        if (!$this->checkUserExist($user_id)) {
            return $this->setErrorCode(102)->failed(trans('user.user_not_exist'));
        }

        /* 变量初始化 */
        $surplus = [
            'user_id' => $user_id,
            'rec_id' => $rec_id,
            'process_type' => $surplus_type,
            'payment_id' => $payment_id,
            'user_note' => $user_note,
            'amount' => $amount,
        ];

        if ($surplus['process_type'] == 1) {
            $withdraw_type = (int)$request->input('withdraw_type', 0); // 提现类型:0为银行卡,1为微信 2为支付宝
            $withdraw_user_number = $request->input('withdraw_user_number', ''); // 提现账号

            $usersReal = UsersReal::where('user_id', $user_id)
                ->where('user_type', 0)
                ->where('review_status', 1);
            $usersReal = BaseRepository::getToArrayFirst($usersReal);

            if (empty($usersReal) && empty($withdraw_type)) {
                $res['code'] = 1;
                $res['msg'] = $GLOBALS['_LANG']['16_users_real_desc'];
                return $this->succeed($res);
            }

            //支付宝/微信提现必须填写账号
            if (!empty($withdraw_type) && empty($withdraw_user_number)) {
                $res['code'] = 1;
                $res['msg'] = $GLOBALS['_LANG']['16_withdraw_number_empty'];
                return $this->succeed($res);
            }

            $buyer_cash = intval(config('shop.buyer_cash')); // 买家提现最低金额,0表示不限

            if (!empty($buyer_cash) && $amount < $buyer_cash) {
                $res['code'] = 2;
                $res['msg'] = $GLOBALS['_LANG']['forward_total_lowest'] . ":" . $buyer_cash;
                return $this->succeed($res);
            }

            /* 判断是否有足够的余额的进行退款的操作 */
            $sur_amount = get_user_surplus($user_id);
            if ($amount > $sur_amount) {
                $res['code'] = 3;
                $res['msg'] = $GLOBALS['_LANG']['surplus_amount_error'];
                return $this->succeed($res);
            }

            if ($usersReal && (empty($usersReal['bank_card']) || empty($usersReal['real_name'])) && empty($withdraw_type)) {
                $res['code'] = 4;
                $res['msg'] = $GLOBALS['_LANG']['users_real_no_complete'];
                return $this->succeed($res);
            }
            // 会员余额提现设置项
            if (config('shop.user_balance_withdrawal') == 0) {
                $res['code'] = 5;
                $res['msg'] = $GLOBALS['_LANG']['surplus_withdrawal_not_support'];
                return $this->succeed($res);
            }

            $deposit_fee = (float)config('shop.deposit_fee', 0); // 提现手续费比例
            $deposit_money = 0;
            if ($deposit_fee > 0) {
                $deposit_money = $amount * $deposit_fee / 100;
            }

            //判断手续费扣除模式,余额充足则从余额中扣除手续费,不足则在提现金额中扣除
            if (($amount + $deposit_money) > $sur_amount) {
                $amount = $amount - $deposit_money;
            }

            //插入会员账目明细
            $surplus['deposit_fee'] = '-' . $deposit_money;

            //提现金额
            $frozen_money = $amount + $deposit_money;
            $amount = '-' . $amount;
            $surplus['payment'] = '';
            $surplus['rec_id'] = insert_user_account($surplus, $amount);

            /* 如果成功提交 */
            if ($surplus['rec_id'] > 0) {
                //by wang提现记录扩展信息start
                $user_account_fields = [
                    'user_id' => $surplus['user_id'],
                    'account_id' => $surplus['rec_id'],
                    'withdraw_type' => $withdraw_type
                ];
                //银行卡提现查询绑定银行卡号
                if (empty($withdraw_type)) {
                    $user_account_fields['bank_number'] = $usersReal['bank_card'];
                    $user_account_fields['real_name'] = $usersReal['real_name'];
                } else {
                    //微信/支付宝  使用用户填写的账号
                    $user_account_fields['bank_number'] = $withdraw_user_number;
                    $user_name = Users::where('user_id', $user_id)->value('user_name');
                    $user_account_fields['real_name'] = $user_name;
                }

                insert_user_account_fields($user_account_fields);
                //by wang提现记录扩展信息end

                /* 申请提现的资金进入冻结状态 */
                log_account_change($user_id, $amount, $frozen_money, 0, 0, "【" . $GLOBALS['_LANG']['application_withdrawal'] . "】" . $surplus['user_note'], ACT_ADJUSTING, 0, $surplus['deposit_fee']);

                $res['msg'] = $GLOBALS['_LANG']['surplus_appl_submit'];
            }
        } else {
            $buyer_recharge = intval(config('shop.buyer_recharge')); // 买家充值最低金额,0表示不限
            if (!empty($buyer_recharge) && $amount < $buyer_recharge) {
                $res['code'] = 1;
                $res['msg'] = $GLOBALS['_LANG']['user_recharge_notic'] . ":" . $buyer_recharge;
                return $this->succeed($res);
            }

            if ($surplus['payment_id'] <= 0) {
                $res['code'] = 2;
                $res['msg'] = $GLOBALS['_LANG']['js_languages']['select_payment_pls'];
                return $this->succeed($res);
            }

            // 会员余额充值设置项
            if (config('shop.user_balance_recharge') == 0) {
                $res['code'] = 5;
                $res['msg'] = $GLOBALS['_LANG']['surplus_withdrawal_not_support'];
                return $this->succeed($res);
            }

            //获取支付方式名称
            $payment_info = payment_info($surplus['payment_id']);
            $surplus['payment'] = $payment_info['pay_name'];
            if ($surplus['rec_id'] > 0) {
                //更新会员账目明细
                $surplus['rec_id'] = update_user_account($surplus);
            } else {
                //插入会员账目明细
                $surplus['rec_id'] = insert_user_account($surplus, $amount);
            }

            //取得支付信息,生成支付代码
            $payment = unserialize_config($payment_info['pay_config']);

            //生成伪订单号, 不足的时候补0
            $order = [];
            $order['order_sn'] = $surplus['rec_id'];
            $order['user_name'] = Users::where('user_id', $user_id)->value('user_name');
            $order['surplus_amount'] = $amount;
            $order['add_time'] = TimeRepository::getGmTime(); // 默认时间戳
            $order['subject'] = lang('user.account_deposit');// 充值描述

            //计算支付手续费用
            $payment_info['pay_fee'] = pay_fee($surplus['payment_id'], $order['surplus_amount'], 0);

            //计算此次预付款需要支付的总金额
            $order['order_amount'] = $amount + $payment_info['pay_fee'];

            if ($order['order_amount'] > 0 && $payment_info && strpos($payment_info['pay_code'], 'pay_') === false) {
                $pay_name = StrRepository::studly($payment_info['pay_code']);
                $pay_obj = app('\\App\\Plugins\\Payment\\' . $pay_name . '\\' . $pay_name);

                //记录支付log
                $order['log_id'] = insert_pay_log($surplus['rec_id'], $order['order_amount'], PAY_SURPLUS, 0);

                if (!is_null($pay_obj)) {
                    $res['pay_button'] = $pay_obj->get_code($order, $payment, $user_id);
                }
            }
        }

        return $this->succeed($res);
    }

    /**
     * 个人积分明细
     * @param Request $request
     * @r
  • 22
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值