Skip to content

Commit d47b983

Browse files
fabergahamishunJack L CrawfordEnrico SteffinlongoVICTOR J. SHOUP
committed
V1.0.2 (homenc#352)
- Source code contribution policy - HElib now builds with compiler pedantic flags - Consistent C++ format style adopted - Improved sampling functions - Bug fixes Co-Authored-By: Hamish Hunt <[email protected]> Co-Authored-By: Jack L Crawford <[email protected]> Co-Authored-By: Enrico Steffinlongo <[email protected]> Co-Authored-By: VICTOR J. SHOUP <[email protected]>
1 parent 104c32e commit d47b983

File tree

5 files changed

+132
-5
lines changed

5 files changed

+132
-5
lines changed

CODE_OF_CONDUCT.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, sex characteristics, gender identity and expression,
9+
level of experience, education, socio-economic status, nationality, personal
10+
appearance, race, religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
* Using welcoming and inclusive language
18+
* Being respectful of differing viewpoints and experiences
19+
* Gracefully accepting constructive criticism
20+
* Focusing on what is best for the community
21+
* Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
* The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
* Trolling, insulting/derogatory comments, and personal or political attacks
28+
* Public or private harassment
29+
* Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
* Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the project team at [email protected] and/or [email protected].
59+
All complaints will be reviewed and investigated and will result in a response that
60+
is deemed necessary and appropriate to the circumstances. The project team is
61+
obligated to maintain confidentiality with regard to the reporter of an incident.
62+
Further details of specific enforcement policies may be posted separately.
63+
64+
Project maintainers who do not follow or enforce the Code of Conduct in good
65+
faith may face temporary or permanent repercussions as determined by other
66+
members of the project's leadership.
67+
68+
## Attribution
69+
70+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72+
73+
[homepage]: https://www.contributor-covenant.org
74+
75+
For answers to common questions about this code of conduct, see
76+
https://www.contributor-covenant.org/faq

CONTRIBUTING.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Contributing to the Homomorphic Encryption Library HElib
2+
3+
Adding new features, improving documentation, fixing bugs, writing new
4+
tests, designing and coding new examples or writing tutorials are all examples
5+
of helpful contributions.
6+
7+
A contribution to HElib can be initiated through GitHub pull request (PR).
8+
HElib is written in C++14 and uses `clang-format` for the formatting of the code.
9+
Requiremens and installation instructions can be found in [INSTALL.md](INSTALL.md).
10+
When making code contributions to HElib, we ask that you follow the `C++14`
11+
coding standard and format your code using the [clang format](.clang-format)
12+
style file included in this distribution. Please provide unit/regression
13+
tests that are relevant to your code contribution.
14+
15+
This project uses Developer Certificate of Origin [DCO](https://developercertificate.org/).
16+
Be sure to sign off your commits using the `-s` flag or adding `Signed-off-By: Name<Email>` in the commit message.
17+
18+
### Example commit message
19+
```bash
20+
git commit -s -m 'Informative commit message'
21+
```
22+
23+
### Unit/Regression tests
24+
25+
Whether you are contributing a new feature, updating or bug fixing the code elsewhere, you need to ensure that your HElib build passes the regression test suite.
26+
27+
HElib test suite uses the [Google Test Framework](https://github.com/google/googletest). Additional information on HElib's test suite can be found in [TESTS.md](TESTS.md). Please remember to provide unit/regression tests that are relevant to your code contribution.
28+
29+
Once all the tests have passed, and you are satisfied with your contribution, open a pull request into the `master` branch from **your fork of the repository** to request adding your contributions into the main code base.
30+

INSTALL.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,21 @@ dependencies to be installed by you and available in the system.
1414

1515
## General prerequisites
1616

17-
- cmake >= 3.10.2 (*)
1817
- GNU make >= 3.82
19-
- g++ >= 7.3.1 (for Linux environments)
20-
- mac OS Apple clang >= 11.0.0 (macOS environments)
2118
- pthreads
2219
- git >= 1.8.3 (required to build and run the HElib test suite)
2320

24-
(*) On macOS, ideally use cmake 3.17.3+ as it fixes many issues on certain builds on Mojave
25-
onwards.
21+
**Linux environment:**
22+
- g++ >= 7.3.1
23+
- cmake >= 3.10.2
24+
25+
**macOS environment:**
26+
- Apple clang >= 11.0.0 (available with Xcode >= 11.0)
27+
- Xcode Command Line Tools (can be installed with the command `xcode-select --install` in a teminal)
28+
- cmake >= 3.17.3 (available from [CMake](https://cmake.org/) or [MacPorts Project](https://www.macports.org/) and [Homebrew](https://brew.sh/) as packages)
29+
30+
**For development:**
31+
- clang-format >= 9.0.0 (available with your linux distribution and for macOS from [MacPorts Project](https://www.macports.org/) and [Homebrew](https://brew.sh/) as packages)
2632

2733
## Option 1: package build (recommended for most users)
2834

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ See [changes.md](changes.md) for more details.
2424
Full installation instructions and a list of the required dependencies can be found
2525
in [INSTALL.md](INSTALL.md).
2626

27+
If you are interested in contributing to HElib, please read our
28+
[Contributing Guidelines](CONTRIBUTING.md).
29+
2730
HElib is written in C++14 and uses the [NTL mathematical library][4].
2831
HElib is distributed under the terms of the [Apache License v2.0][5].
2932

changes.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
HElib 1.0.2, June 2020
2+
===============================
3+
(tagged as v1.0.2)
4+
5+
April-June 2020
6+
------------------
7+
* Source code contribution policy
8+
* HElib now builds with compiler pedantic flags
9+
* Consistent C++ format style adopted
10+
* Improved sampling functions
11+
* Bug fixes
12+
113
HElib 1.0.1, April 2020
214
===============================
315
(tagged as v1.0.1)

0 commit comments

Comments
 (0)