-
Notifications
You must be signed in to change notification settings - Fork 1
/
contributor-handbook.html
executable file
·240 lines (204 loc) · 9.69 KB
/
contributor-handbook.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>SAS Open Source Contributor Handbook</title>
<meta name="description" content="A guide to contributing to SAS's open source projects.">
<meta name="author" content="SAS Institute, Inc.">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/png" href="images/s-mark.png">
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/sassoftware.css">
<link rel="preload" href="https://www.sas.com/includes/fonts/sas/Anova-Regular.woff2" as="font" type="font/woff2" crossorigin/>
<link rel="preload" href="https://www.sas.com/includes/fonts/sas/Anova-Bold.woff2" as="font" type="font/woff2" crossorigin/>
<link rel="preload" href="https://www.sas.com/includes/fonts/sas/Anova-Light.woff2" as="font" type="font/woff2" crossorigin/>
</head>
<!-- Primary page layout -->
<body>
<!-- Banded section -->
<div class="header">
<h1>SAS Open Source Contributor Handbook</h1>
<p>Contributing to <a href="https://sassoftware.github.io/" title="sassoftware.github.io">open source projects from SAS Institute Inc.</a></p>
</div>
<!-- Body section -->
<div class="grid-container halves">
<div>
<img src="images/sas-screens.png">
</div>
<div>
<h2>Welcome, contributors</h2>
<hr>
<p class="u-embiggen">SAS is the founder and future of analytics.</p>
<p class="u-embiggen">When you contribute to SAS's open source projects, you'll build tools that help people make better decisions, faster.</p>
</div>
</div>
<!-- Banded section -->
<div class="divider">
<div>
<img class="u-img-divider" src="images/standard-section-divider.png">
</div>
</div>
<!-- Body section -->
<div class="grid-container halves">
<div>
<h2>Where to start</h2>
<p><a href="https://github.com/sassoftware" title="github.com/sassoftware">SAS Software on GitHub</a> is home to more than 200 open source projects from SAS. Find open projects, plugins, examples, and other resources for extending and integrating SAS's powerful tools with open source languages and frameworks.</p>
<a class="button button-classic" href="https://sassoftware.github.io">Browse projects</a>
</div>
<div>
<img class="u-half-width" src="images/icon-location.png">
</div>
</div>
<!-- Banded section -->
<div class="divider">
<div>
<img class="u-img-divider" src="images/standard-section-divider.png">
</div>
</div>
<!-- Body section -->
<div class="grid-container halves">
<div>
<img class="u-half-width" src="images/icon-guidelines.png">
</div>
<div>
<h2>Read the guidelines</h2>
<p>If a SAS open source project is accepting contributions, the project repository will contain a <span style="font-family:monospace;">CONTRIBUTING.md</span> file. Read that file carefully. It will contain important instructions for contributing to the project. It might also offer details about the project's development and code review processes.</p>
<p>When you understand (and follow) these guidelines, you'll increase the likelihood that project maintainers will accept your contributions.</p>
</div>
</div>
<!-- Banded section -->
<div class="divider">
<div>
<img class="u-img-divider" src="images/standard-section-divider.png">
</div>
</div>
<!-- Body section -->
<div class="grid-container halves">
<div>
<h2>Sign your work</h2>
<p>Everyone contributing to SAS projects must sign <a href="https://github.com/sassoftware/.github/blob/main/ContributorAgreement.txt" tite="ContributoAgreement.txt">SAS's standard contributor agreement</a>, which is built on the <a href="https://developercertificate.org/" title="Developer Certificate of Origin"> Developer Certificate of Origin</a>.
<p>To comply with the agreement and attest to your right to offer your contribution to a SAS project, simply add the following line to your commits:</p>
<pre><code>Signed-off-by: Firstname Lastname <[email protected]></code></pre>
<p>For example:</p>
<pre><code>Signed-off-by: Random J Developer <[email protected]></code></pre>
<p>You can add this line to your commits with this command:</p>
<pre><code>git commit -s</code></pre>
<p>SAS uses the <a href="https://github.com/apps/dco" title="DCO app">DCO app</a> to scan all commits in incoming pull requests and confirm this sign-off. The app will alert you if your commits aren't properly signed-off. It will also offer instructions for remediating the issue and providing proper sign-off. SAS project maintainers won't merge your commit unless you've added proper sign-off.</p>
</div>
<div class="boxed">
<h3>SAS Contributor Agreement</h3>
<p class="u-monospace">Version 1.1</p>
<p class="u-monospace">Contributions to this software are accepted only when they are properly accompanied by a Contributor Agreement. The Contributor Agreement for this software is the Developer's Certificate of Origin 1.1 (DCO) as provided with and required for accepting contributions to the Linux kernel.</p>
<p class="u-monospace">In each contribution proposed to be included in this software, the developer must include a "sign-off" that denotes consent to the terms of the Developer's Certificate of Origin. The sign-off is a line of text in the description that accompanies the change, certifying that you have the right to provide the contribution to be included. For changes provided in source code control (for example, via a Git pull request) the sign-off must be included in the commit message in source code control. For changes provided in email or issue tracking, the sign-off must be included in the email or the issue, and the sign-off will be incorporated into the permanent commit message if the contribution is accepted into the official source code.</p>
<a class="button" href="https://raw.githubusercontent.com/sassoftware/.github/refs/heads/main/ContributorAgreement.txt" tite="ContributoAgreement.txt">Read the full agreement</a>
</div>
</div>
<!-- Banded section -->
<div class="divider">
<div>
<img class="u-img-divider" src="images/standard-section-divider.png">
</div>
</div>
<!-- Body section -->
<div class="grid-container thirds">
<div>
<h2>Submit for review</h2>
<hr>
<p class="u-embiggen">Each of SAS's open source projects has its own team of maintainers at SAS. Each one therefore has its own set of code conventions and review process, too.</p>
</div>
<div>
<h3>What to expect</h3>
<p>A project's <span style="font-family:monospace;">CONTRIBUTING.md</span> file will detail the project's code review processes. All contributions require review from SAS project maintainers. They may run unit tests, development tests, integrations tests, and security scans using internal SAS infrastructure. In this case, they may not merge a contribution directly from GitHub; instead, they'll work with submissions internally first, vetting them to ensure they meet SAS standards.</p>
</div>
<div>
<h3>Our promise</h3>
<p>We’ll always do our best to work with contributors in public issues and pull requests; however, to ensure our code meets our internal compliance standards, we may need to incorporate your submission into a solution we push ourselves. And we work to ensure all contributors receive appropriate recognition for their contributions—at the very least, by acknowledging contributors in our release notes.</p>
</div>
</div>
<!-- Banded section -->
<div class="divider">
<div>
<img class="u-img-divider" src="images/standard-section-divider.png">
</div>
</div>
<!-- Body section -->
<div class="grid-container halves">
<div>
<h2>Let's get started</h2>
<p>Browse the <a href="https://github.com/sassoftware" title="SAS Software organization on GitHub">SAS Software organization on GitHub</a>.</p>
</div>
</div>
<div class="grid-container thirds">
<div id="just-launched">
<h4>Just launched</h4>
</div>
<div id="recently-updated">
<h4>Recently updated</h4>
</div>
<div id="most-forked">
<h4>Most forked</h4>
</div>
</div>
<script type="text/javascript" src="js/data.js"></script>
<script type="text/javascript">
function renderRepos(arr, tag, count) {
const list = document.getElementById(tag);
function makeElem(arrItem, arrIndex) {
let p = document.createElement('p');
let name = arrItem['name'];
let description = arrItem['description'];
/*<p><a href="PROJECT_URL" title="PROJECT_NAME">PROJECT_NAME</a><br />PROJECT_DESCRPTION</p>*/
p.innerHTML = `<p><a href="https://github.com/sassoftware/${name}" title="${name}">${name}</a><br />${description}</p>`;
console.log(arrItem);
return p;
}
let i = 0;
arr.forEach((item, index) => {
if (i < count){
try {
const listElement = makeElem(item, index);
list.append(listElement);
console.log("*");
} catch (Error) {
console.log(Error);
}}
i += 1;
});
}
data.sort(function(a,b){
if ( a['created_at'] < b['created_at'] )
{
return 1;
}
return -1;
});
renderRepos(data, "just-launched", 4);
data.sort(function(a,b){
if ( a['pushed_at'] < b['pushed_at'] )
{
return 1;
}
return -1;
});
renderRepos(data, "recently-updated", 4);
data.sort(function(a,b){
if ( a['forks_count'] < b['forks_count'] )
{
return 1;
}
return -1;
});
renderRepos(data, "most-forked", 4);
</script>
<!-- Footer section -->
<div class="footer">
<p>©2024 <a href="https://www.sas.com/" title="sas.com">SAS Institute Inc.</a> All Rights Reserved.</p>
<ul>
<li><a href="https://github.com/sassoftware/sassoftware.github.io" title="sasssoftware.github.io">Site Code</a></li>
<li><a href="https://github.com/sassoftware" title="github.com/sassoftware">SAS on GitHub</a></li>
<li><a href="https://www.sas.com/en_us/company-information/why-sas.html" title="sas.com">About SAS</a></li>
</ul>
</div>
<!-- Document end-->
</body>
</html>